XML-Kataloge

(Auszug aus "DITA - Der neue Standard für Technische Dokumentation" von Johannes Hentrich)

Jede DITA XML-Datei enthält eine DOCTYPE-Deklaration, in der ein öffentlicher Bezeichner (public identifier) den entsprechenden Topictyp über eine Moduldatei oder DTD referenziert. Der öffentliche Bezeichner dient dazu, um über einen XML-Katalog den Ort einer DTD oder Moduldatei auf der lokalen Festplatte bestimmen zu können. Damit legt der öffentliche Bezeichner fest, welche DTD oder Moduldatei zu verwenden ist, um die Struktur des entsprechenden Topics validieren zu können.

Das folgende Beispiel zeigt eine DOCTYPE-Deklaration für ein einen Topictyp „Aufgabe“:

<!DOCTYPE task PUBLIC "-//OASIS//ELEMENTS DITA Task//EN" "../dtd/task.mod">

Mit task wird hier der Name des Wurzel-Elements festgelegt. Der öffentliche Bezeichner lautet: PUBLIC "-//OASIS//ELEMENTS DITA Task//EN". Danach folgt ein System-Bezeichner, der verwendet wird, falls der öffentliche Bezeichner nicht im XML-Katalog aufgeführt ist und somit die Moduldatei beziehungsweise die DTD nicht über den XML-Katalog gefunden werden kann.

Die Zuordnung des öffentlichen Bezeichners zu der entsprechenden DTD oder Moduldatei wird in der catalog-dita.xml-Datei vorgenommen, welche sich im Wurzelverzeichnis des DITA Open Toolkits befindet. Damit muss eine DOCTYPE-Deklaration in einer DITA XML-Datei nie verändert werden, wenn die Datei in ein anderes Verzeichnis verschoben oder wenn eine DITA XML-Datei in einem beliebigen Verzeichnis auf der Festplatte gespeichert wird.

In der catalog-dita.xml-Datei befinden sich die Katalogeinträge innerhalb des <group>-Elements, welches wie folgt definiert ist:

<group xml:base="dtd/">

Mit xml:base wird angegeben, wo die DTDs beziehungsweise die Moduldateien der nachfolgenden Katalogeinträge zu finden sind. Ein Katalogeintrag wird über ein <public>-Element definiert. Das folgende Beispiel zeigt den Katalogeintrag, der für den Topictyp „Aufgabe“ benötigt wird.

<public publicId="-//OASIS//ELEMENTS DITA Task//EN" uri="task.mod"></public>

Das publicId-Attribut enthält den öffentlichen Bezeichner. Im uri-Attribut wird der relative Pfad zu dem im <group>-Element definierten Verzeichnis angegeben. Damit ist die Zuordnung zwischen dem öffentlichen Bezeichner und dem Pfad zur entsprechenden DTD oder Moduldatei vollständig.

Die „Auflösung“ (resolve) erfolgt durch den im DITA Open Toolkit enthaltenen XML-Katalog Resolver. Dieser liegt als Java-Programm im lib-Verzeichnis des DITA Open Toolkits und sorgt dafür, dass immer die richtige DTD oder Moduldatei für das entsprechende Topic gefunden wird.

Arbeiten Sie nur mit den Standard-Topics von DITA, so werden Sie mit dem XML-Katalog und der catalog-dita.xml Datei kaum in Berührung kommen. Das ändert sich jedoch, sobald Sie mit spezialisierten Informationsstrukturen und deren DTDs, Moduldateien und Entity-Dateien arbeiten.

Für jeden spezialisierten Topictyp wird eine neue DTD und Moduldatei erstellt. Wird eine Domain spezialisiert, so werden eine neue Moduldatei und Entity-Datei erstellt. Die spezialisierten DTDs, Moduldateien und Entity-Dateien müssen über einen öffentlichen Bezeichner referenziert werden.

Das Format eines öffentlichen Bezeichners ist wie folgt festgelegt:

 -//Besitzer//Beschreibung//Sprache 

Für den in Spezialisierung spezialisierten Topic „Support“ wurde der folgende öffentliche Bezeichner definiert:

 -//JH//DTD DITA support//DE 

Dieser öffentliche Bezeichner wird verwendet, die beiden folgenden XML-Katalog-Dateien zu aktualisieren:

  • dita-catalog-template.xml
  • ant-catalog.xml

Dann kann das DITA Open Toolkit mit den spezialisierten Informationsstrukturen arbeiten.

Die dita-catalog-template.xml-Datei befindet sich im Wurzelverzeichnis des DITA Open Toolkits. Die beiden Einträge für den spezialisierten Topictyp „Support“, das heißt, für die spezialisierte Moduldatei und die Mantel-DTD, lauten wie folgt:

<public publicId="-//JH//DTD DITA support//DE" uri="c:/ditaot14/dtd/support.dtd"></public>
<public publicId="-//JH//ELEMENTS DITA support//EN" uri="c:/ditaot14/dtd/support.mod"></public>

Wird ein Produktionsprozess über eine ANT Build-Datei gestartet, so wird der Inhalt der catalog-dita.xml-Datei aktualisiert, das heißt, die neuen Einträge aus der dita-catalog-template.xml-Datei werden in die catalog-dita.xml-Datei kopiert.

Neben der dita-catalog-template.xml-Datei muss noch eine weitere Katalogdatei ergänzt werden, und zwar die ANT-Katalogdatei ant-catalog.xml. Diese befindet sich ebenfalls im Wurzelverzeichnis des DITA Open Toolkits. Die Syntax in der ant-catalog.xml-Datei unterscheidet sich etwas von der in der dita-catalog-template.xml-Datei. Unabhängig davon muss die Anzahl der Einträge in beiden Dateien übereinstimmen.

Für den spezialisierten Topictyp „Support“ lauten die beiden Einträge in der ant-catalog.xml-Datei wie folgt:

<dtd publicId="-//JH//DTD DITA support//DE" location="2${dita.dtd.dir}${file.separator}dtd${file.separator}support.dtd" />
<dtd publicId="-//JH//ELEMENTS DITA support//DE" location="2${dita.dtd.dir}${file.separator}dtd${file.separator}support.mod" />

Im publicId-Attribut wird der öffentliche Bezeichner definiert. Der Pfad zu der spezialisierten DTD und Moduldatei wird im location-Attribut festgelegt, wobei dita.dtd.dir und file.separator Variablen sind, deren Werte bereits festgelegt wurden.

Mit der Definition der beiden Katalogdateien dita-catalog-template.xml und ant-catalog.xml sind alle Einträge vollständig, sodass dann bei der Verarbeitung auch die neuen DTDs, Moduldateien und Entity-Dateien gefunden werden können.

  

<< zurück vor >>

 

 

 

Tipp der data2type-Redaktion:
Zum Thema DITA bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2008 XLcontent Verlag
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "DITA - Der neue Standard für Technische Dokumentation" denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.

XLcontent Verlag, Pflegerstraße 40, 81247 München