-
Sub-task
-
Resolution: Delivered
-
P4
-
22
A JDK built-in catalog is introduced to host <a href="https://www.oracle.com/technetwork/xsd/1664222.html">DTDs defined by the Java Platform</a>. The JDK creates a <a href="https://docs.oracle.com/en/java/javase/21/docs/api/java.xml/javax/xml/catalog/CatalogResolver.html">CatalogResolver</a> based on the built-in catalog when needed to function as the default external resource resolver. When no user-defined resolvers are registered, a JDK XML processor will fall back to the default CatalogResolver and will attempt to resolve an external reference before making a connection to fetch it. The fall-back also takes place if a user-defined resolver exists but allows the process to continue when unable to resolve the resource.
If the default CatalogResolver is unable to locate a resource, it will signal the XML processors to continue processing, or skip the resource, or throw a CatalogException. The action it takes is configured with the `jdk.xml.jdkcatalog.resolve` property. The new property can be set on factory APIs, as a Java system property, or in the JAXP Configuration File. The new property affects all XML processors uniformly.
For further information, see the <a href="https://docs.oracle.com/en/java/javase/22/docs/api/java.xml/module-summary.html#JDKCATALOG">JDK built-in Catalog</a> section of the `java.xml` module summary.
If the default CatalogResolver is unable to locate a resource, it will signal the XML processors to continue processing, or skip the resource, or throw a CatalogException. The action it takes is configured with the `jdk.xml.jdkcatalog.resolve` property. The new property can be set on factory APIs, as a Java system property, or in the JAXP Configuration File. The new property affects all XML processors uniformly.
For further information, see the <a href="https://docs.oracle.com/en/java/javase/22/docs/api/java.xml/module-summary.html#JDKCATALOG">JDK built-in Catalog</a> section of the `java.xml` module summary.