XML CatalogsXML Catalogs ist eine Technik zum Ersetzen von externen Referenzen in XML-Dokumenten. Hierbei wird beim Parsen des XML überprüft, ob es für die referenzierte externe Datei im Katalog eine Ersetzungsregel gibt. Wird hier eine zutreffende Regel gefunden, so wird die in der Datei vorhandene Referenz durch die Referenz aus dem Katalog ersetzt. Der Katalog selbst ist eine XML-Datei, die dem Parser bekannt gemacht werden muss. XML Catalogs ist ein OASIS-Standard. XML Catalogs hat zwei primäre Einsatzgebiete:
BeispieleDas folgende Beispiel zeigt einen Katalog (üblicherweise gespeichert in einer Datei mit dem Namen <?xml version="1.0"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<system systemId="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"
uri="dtd/xhtml1/xhtml1-strict.dtd"/>
<system systemId="http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"
uri="dtd/xhtml1/xhtml1-transitional.dtd"/>
<system systemId="http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd"
uri="dtd/xhtml11/xhtml11-flat.dtd"/>
</catalog>
Das Problem kann für mehrere Dokumente auch gelöst werden, indem ganze Teile des URI ersetzt werden: <?xml version="1.0"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<rewriteURI uriStartString="http://www.w3.org/TR/xhtml1/DTD/" rewritePrefix="dtd/"/>
</catalog>
Folgender Katalog weist unterschiedlichen System-Identifiern (z. B. andere Schreibweisen) dieselbe lokale DTD zu: <?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.1//EN" "http://www.oasis-open.org/committees/entity/release/1.1/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<systemSuffix systemIdSuffix="xhtml1-strict.dtd" uri="dtd/xhtml1/xhtml1-strict.dtd"/>
<systemSuffix systemIdSuffix="XHTML1-STRICT.dtd" uri="dtd/xhtml1/xhtml1-strict.dtd"/>
</catalog>
Diese Funktionalität wurde erst mit Version 1.1 in den Katalog-Standard aufgenommen. Weblinks
|