XML Catalogs
# XML Catalogs

XML 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:

* Ersetzen von entfernten Dateien durch lokale Dateien: Viele Dateien binden weitere externe Dateien ein. Wenn dabei jedes Mal eine Netzwerkverbindung aufgebaut werden muss, wird die Ausführung verlangsamt und im Fall eines Verbindungsfehlers eventuell gestört. Zudem können Server, die häufig benutzte Dateien bereitstellen (beispielsweise die Server des W3C für die DTD von XHTML unter http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd), überlastet werden.
* Ersetzen von Referenzen durch andere: Es lassen sich zum Beispiel alte URLs oder veraltete Schemata durch neue ersetzen, ohne am jeweiligen Dokument bzw. an der jeweiligen Anwendung Änderungen vornehmen zu müssen. Dies ist für XML-Schnittstellen (bei denen man oft das Datenformat externer Quellen nicht beeinflussen kann) eine gängige Technik.

## Beispiele

Das folgende Beispiel zeigt einen Katalog (üblicherweise gespeichert in einer Datei mit dem Namen catalog.xml), der für die externe Referenz mit dem System-Identifier http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd eine lokale DTD unter dtd/xhtml1/xhtml1-strict.dtd bereitstellt. Analog wird mit den beiden anderen DTDs verfahren.

Das Problem kann für mehrere Dokumente auch gelöst werden, indem ganze Teile des URI ersetzt werden:

Folgender Katalog weist unterschiedlichen System-Identifiern (z. B. andere Schreibweisen) dieselbe lokale DTD zu:

Diese Funktionalität wurde erst mit Version 1.1 in den Katalog-Standard aufgenommen.

