Guest User

Untitled

a guest
Jan 17th, 2018
73
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.51 KB | None | 0 0
  1. ByteArrayInputStream bais = ... // loading xml from a file
  2. DOMCatalogReader r = new DOMCatalogReader();
  3. String targetClass = "MyCatalogParser";
  4.  
  5. r.setCatalogParser(null, "catalog", targetClass);
  6. Catalog catalog = new Catalog();
  7. InputStream is = bais;
  8. r.readCatalog(catalog, is); // line 73
  9.  
  10. import com.sun.org.apache.xml.internal.resolver.Catalog;
  11. import com.sun.org.apache.xml.internal.resolver.readers.DOMCatalogParser;
  12.  
  13. public class MyCatalogParser implements DOMCatalogParser {
  14.  
  15. @Override
  16. public void parseCatalogEntry(Catalog catalog, Node node) {
  17. System.out.println("test");
  18. }
  19.  
  20. }
  21.  
  22. <?xml version="1.0"?>
  23. <catalog >
  24. <group prefer="public" xml:base="a" >
  25. <public
  26. publicId="b"
  27. uri="docbook45/docbookx.dtd"/>
  28.  
  29. <system
  30. systemId="c"
  31. uri="docbook45/docbookx.dtd"/>
  32.  
  33. <system
  34. systemId="d"
  35. uri="docbook45/docbookx.dtd"/>
  36. </group>
  37. </catalog>
  38.  
  39. $ java -version
  40. openjdk version "1.8.0_151"
  41.  
  42. Exception in thread "main" com.sun.org.apache.xml.internal.resolver.CatalogException: Catalog Exception 6
  43. at com.sun.org.apache.xml.internal.resolver.readers.DOMCatalogReader.readCatalog(DOMCatalogReader.java:202)
  44. at Main.main(Main.java:73)
  45.  
  46. try {
  47. domParser = (DOMCatalogParser) ReflectUtil.forName(domParserClass).newInstance();
  48. } catch (ClassNotFoundException cnfe) {
  49. catalog.getCatalogManager().debug.message(1, "Cannot load XML Catalog Parser class", domParserClass);
  50. throw new CatalogException(CatalogException.UNPARSEABLE);
Add Comment
Please, Sign In to add comment