Read the related article on XML resolvers to understand why we use resolvers.
Tutorial and Sample code
Download and install the xml-commons-resolver package
which is part of the xml-commons components from apache.
The example below assumes that you have already created your catalog
and we want to specify this explicitly within our code. There are other
ways to setup the catalog, read the documentation to see which one suits
CatalogManager cm = new CatalogManager(); cm.setCatalogFiles("D:\\cygwin\\usr\\share\\catalog\\docbook.catalog"); cm.setIgnoreMissingProperties(true); CatalogResolver cr = new CatalogResolver(cm); DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance(); DocumentBuilder db; db = dbf.newDocumentBuilder(); db.setEntityResolver(cr);
Ensure you have the line
otherwise it will output to standard error with:
Cannot find CatalogManager.properties
It is set to complain by default, but in this case it is turned off
because we know we’ll be specifying the catalog files with the
Alternatively, you can use the system property
xml.catalog.files to set the catalog files.