Catalog Support

DITA Merge uses a custom version of the Apache commons OASIS catalog resolver by default, this can however be changed. Details of our customization of the standard Apache commons OASIS catalog resolver are given on our catalog resolver page. 

The distribution includes the OASIS DTDs and Schema files for DITA 1.2 as well as the Apache XML Commons Resolver to provide support for XML catalog use. This means, that out-of-the-box, the tool will not need to download the DTDs or Schema files for DITA 1.2 but will use its local copy.

1. Configuring the catalogs

If you wish to use additional catalogs that are searched before the built-in catalog you need to supply the location(s) using a deltaxmlConfig.xml file. A sample file (and DTD) is provided in the samples/config-dita directory of the distribution. Copy these files into either the installation directory of deltaxml-dita-merge.jar file or into your user home directory and then modify the value of com.deltaxml.ext.catalog.files to the relevant path(s). For example:

<configProperty name = "com.deltaxml.ext.catalog.files" value = "C:\catalogs\my_catalog.xml;C:\another-catalog.xml"/>


Please note, it is also possible to use the built-in catalog first, and then additional catalogs by using the 
fixed  com.deltaxml.rsc.catalog.files property within the definition of the xml.catalog.files property as follows.  If you wish to completely override the built-in catalog, set the xml.catalog.files property instead.

<configProperty name = "xml.catalog.files" value = "${com.deltaxml.rsc.catalog.files};C:\catalogs\my_catalog.xml"/>


An alternative way of setting these properties for a single Java invocation only is to use a System property setting when invoking the java command. e.g.

-Dcom.deltaxml.ext.catalog.files.catalog.files=C:\catalogs\my_catalog.xml;C:\another-catalog.xml

1.1. Catalog Support in an Application Server

Some application servers use classloaders that, for security reasons, limit the ability to dynamically access some resources and access the location of the running code. If this is the case, you will need to set the xml.catalog.files variable even if you wish to use the built-in DTDs. It should be set to the following, with the relevant path:

<configProperty name = "xml.catalog.files" value = "jar:file:/path/to/install/dir/deltaxml-dita.jar!/catalog.xml"/>
#content .code