Altova's XML Catalog Mechanism

www.altova.com Print this Topic Previous Page Up One Level Next page

Home >  Setting Up RaptorXML > XML Catalogs >

Altova's XML Catalog Mechanism

This section:

 

The root catalog file, RootCatalog.xml, contains the catalog files RaptorXML will look up.
Altova's catalog extension files: CoreCatalog.xml, CustomCatalog.xml, and Catalog.xml.
Supported catalog subset.

 

RootCatalog.xml

By default, RaptorXML will look up the file RootCatalog.xml (listed below) for the list of catalog files to use. RootCatalog.xml is located in the folder:

 

<ProgramFilesFolder>\Altova\RaptorXMLServer2019\etc

 

To use another file as the root catalog, use the --catalog option on the command line, the setCatalog method of the Java interface, or the Catalog method of the COM interface.

 

 

<?xml version="1.0" encoding="UTF-8"?>

<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog"

   xmlns:spy="http://www.altova.com/catalog_ext"

   xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"

   xsi:schemaLocation="urn:oasis:names:tc:entity:xmlns:xml:catalog Catalog.xsd">

 

  <nextCatalog catalog="%PersonalFolder%/Altova/%AppAndVersionName%/CustomCatalog.xml"/> 

  <nextCatalog catalog="CoreCatalog.xml"/>

 

  <!-- Include all catalogs under common schemas folder on the first directory level -->

  <nextCatalog spy:recurseFrom="%AltovaCommonFolder%/Schemas" catalog="catalog.xml" spy:depth="1"/>

 

  <!-- Include all catalogs under common XBRL folder on the first directory level -->

  <nextCatalog spy:recurseFrom="%AltovaCommonFolder%/XBRL" catalog="catalog.xml" spy:depth="1"/>

</catalog>

 

 

Additional catalog files to look up are each listed in a nextCatalog element, and any number of these can be added. Each catalog file is looked up and the mappings in them are resolved.

 

In the listing above, notice that two catalogs are directly referenced: CoreCatalog.xml and CustomCatalog.xml. Additionally, catalogs named catalog.xml that are in the first level of subfolders of the Schemas and XBRL folders are also referenced. (The value of the %AltovaCommonFolder% variable is given in the section, Variables for System Locations.)

 

The catalog files in the Altova Common Folder map the pre-defined public and system identifiers of commonly used schemas (such as XML Schema and XHTML) to URIs that point to local copies of the respective schemas. These schemas are installed in the Altova Common Folder when RaptorXML is installed.

 

CoreCatalog.xml, CustomCatalog.xml, and Catalog.xml

The catalog files CoreCatalog.xml and CustomCatalog.xml are listed in RootCatalog.xml for lookup:

 

CoreCatalog.xml contains certain Altova-specific mappings for locating schemas in the Altova Common Folder.
CustomCatalog.xml is a skeleton file in which you can create your own mappings. You can add mappings to CustomCatalog.xml for any schema you require but that is not addressed by the catalog files in the Altova Common Folder. Do this using the supported elements of the OASIS catalog mechanism (see below).
There are a number of Catalog.xml files inside the folder of a specific schema or XBRL taxonomy in the Altova Common Folder, and each maps public and/or system identifiers to URIs that point to locally saved copies of the respective schemas.

 

Both CoreCatalog.xml and CustomCatalog.xml are in the folder, <ProgramFilesFolder>\Altova\RaptorXMLServer2019\etc. The catalog.xml files are each in a specific schema folder, these schema folders being inside the folders: %AltovaCommonFolder%\Schemas and %AltovaCommonFolder%\XBRL.

 

Supported catalog subset

When creating entries in a catalog file that RaptorXML will use, use only the following elements of the OASIS catalog specification. Each of the elements below is listed with an explanation of its attribute values. For a more detailed explanation, see the XML Catalogs specification.

 

<public publicId="PublicID of Resource" uri="URL of local file"/>
<system systemId="SystemID of Resource" uri="URL of local file"/>
<uri name="filename" uri="URL of file identified by filename"/>
<rewriteURI uriStartString="StartString of URI to rewrite" rewritePrefix="String to replace StartString"/>
<rewriteSystem systemIdStartString="StartString of SystemID" rewritePrefix="Replacement string to locate resource locally"/>

 

In cases where there is no public identifier, the system identifier can be directly mapped to a URL via the system element. Also, a URI can be mapped to another URI using the uri element. The rewriteURI and rewriteSystem elements enable the rewriting of the starting part of a URI or system identifier, respectively. This allows the start of a filepath to be replaced and consequently enables the targeting of another directory.

 

Note:Each element can take the xml:base attribute, which is used to specify the base URI of that element. If no xml:base element is present, the base URI will be the URI of the catalog file.

 

For more information on these elements, see the XML Catalogs specification.

 


© 2019 Altova GmbH