Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- ByteArrayInputStream bais = ... // loading xml from a file
- DOMCatalogReader r = new DOMCatalogReader();
- String targetClass = "MyCatalogParser";
- r.setCatalogParser(null, "catalog", targetClass);
- Catalog catalog = new Catalog();
- InputStream is = bais;
- r.readCatalog(catalog, is); // line 73
- import com.sun.org.apache.xml.internal.resolver.Catalog;
- import com.sun.org.apache.xml.internal.resolver.readers.DOMCatalogParser;
- public class MyCatalogParser implements DOMCatalogParser {
- @Override
- public void parseCatalogEntry(Catalog catalog, Node node) {
- System.out.println("test");
- }
- }
- <?xml version="1.0"?>
- <catalog >
- <group prefer="public" xml:base="a" >
- <public
- publicId="b"
- uri="docbook45/docbookx.dtd"/>
- <system
- systemId="c"
- uri="docbook45/docbookx.dtd"/>
- <system
- systemId="d"
- uri="docbook45/docbookx.dtd"/>
- </group>
- </catalog>
- $ java -version
- openjdk version "1.8.0_151"
- Exception in thread "main" com.sun.org.apache.xml.internal.resolver.CatalogException: Catalog Exception 6
- at com.sun.org.apache.xml.internal.resolver.readers.DOMCatalogReader.readCatalog(DOMCatalogReader.java:202)
- at Main.main(Main.java:73)
- try {
- domParser = (DOMCatalogParser) ReflectUtil.forName(domParserClass).newInstance();
- } catch (ClassNotFoundException cnfe) {
- catalog.getCatalogManager().debug.message(1, "Cannot load XML Catalog Parser class", domParserClass);
- throw new CatalogException(CatalogException.UNPARSEABLE);
Add Comment
Please, Sign In to add comment