Java 9 will be shipped with a new public XML Catalogs API.
http://openjdk.java.net/projects/jdk9/
http://openjdk.java.net/jeps/268
The CatalogManager will manage the creation of XML Catalogs and CatalogResolvers, as well as features and properties.
A Catalog will implement the semantics of OASIS Open Catalog files. It will define an entity catalog that maps external identifiers and URI references to (other) URI references, and delegates to other catalogs.
A CatalogResolver will implement JAXP's existing EntityResolver and URIResolver interfaces. The resolver will supports the OASIS standard processing instruction as a SAX XMLFilter.
What will it take to make Saxon support the new API? From what I noticed JEP 268 is not compatible with the current Saxon API. Its classes are not instatiable via public no-arg constructors, but intended to be created via static factory method calls.
CatalogManager.catalogResolver(Catalog catalog) CatalogManager.catalogResolver(CatalogFeatures features, String... paths)
The new Catalog functionality is already available in JDK 9. It is well documented and properly tested.
https://jdk9.java.net/download/
Thanks,
Serhii.
I have transferred this to the saxonica.plan.io forum. Please watch it there to track progress:
https://saxonica.plan.io/issues/2935