Catalog Resolver
Overview
XML documents often rely on Document Type Definitions (DTD). While parsing a document with BaseX elements and entities can be checked for validity with respect to that particular DTD.
XHTML for example defines its doctype via the following line:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
Fetching the xhtml1-strict.dtd
obviously involves some network traffic. When dealing with single files this may seem tolerable, but
importing large collections might benefit from caching these resources locally. Users report
XML Entity and URI Resolvers in BaseX
BaseX is able to use available URI resolvers without any additional configuration.
To enable entity resolving you have to provide a valid XML Catalog file. A simple working example for XHTML might look like this:
<?xml version="1.0"?> <catalog prefer="system" xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"> <rewriteSystem systemIdStartString="http://www.w3.org/TR/xhtml1/DTD/" rewritePrefix="file:///path/to/dtds/" /> </catalog>
This rewrites all SystemId that start with: http://www.w3.org/TR/xhtml1/DTD/ to file:///path/to/dtds/.
The XHTML DTD xhtml1-strict.dtd
and all its linked resources will now be loaded from the specified path.
GUI
When running BaseX in GUI mode