Schreiben einer Anpassungsdatei für DocBook 4

(Auszug aus "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" von Thomas Schraitle)

Eine Anpassungsdatei benötigen Sie immer dann, wenn Sie DocBook 4 nach Ihren Wünschen verändern oder es mit einer anderen DTD kombinieren möchten. Eine solche Datei kann relativ komplex werden oder sich auf wenige Zeilen beschränken. Der Ort der Anpassungsdatei ist abhängig von verschiedenen Faktoren:

  • Sind Ihre Anpassungen nicht dazu bestimmt, mit anderen ausgetauscht zu werden, kann die Anpassungsdatei im selben Verzeichnis liegen wie Ihre DocBook-Dokumente. Falls sie nur einer kleinen Gruppe von Personen zugänglich sein soll, kann sie auch lokal in einem Verzeichnis installiert oder im Netzwerk verfügbar gemacht werden.
  • Werden Ihre DocBook-Dokumente mit anderen ausgetauscht, muss auch die Anpassungsdatei für den Empfänger verfügbar sein. Eine Möglichkeit wäre, die Anpassungen ins Internet zu stellen und die öffentlichen Bezeichner und Systembezeichner zu veröffentlichen.

Den Dateinamen dürfen Sie frei wählen. Eine allgemeine Anpassungsdatei sieht wie folgt aus:

Beispiel: Allgemeines Aussehen einer Anpassungsdatei für DocBook 4

<!-- Parameter-Entities -->
<!-- Einfügen der DocBook-DTD -->
<!ENTITY % DocBookDTD PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.docbook.org/xml/4.5/docbookx.dtd">
%DocBookDTD;
<!-- Umdefinieren von Elementen und Attributen -->

Zeile 1: Fügen Sie hier Ihre ENTITY-Deklarationen ein. Dies können Parameter-Entities sein, die auf den Wert IGNORE gesetzt werden, oder Erweiterungen eines %local.*;-Entities.
Zeile 4: Laden der DocBook 4.5-DTD über eine Parameter-Entity-Referenz.
Zeile 5: Fügen Sie an dieser Stelle neue Elemente und Attribute ein.

Diese im obigen Beispiel gezeigte Möglichkeit ist die einfachste. Wie eine Anpassungsdatei im Detail aufgebaut ist, werden Sie in den nächsten Abschnitten genauer erfahren. Hier geht es vorerst nur um das Konzept.

Ein weiterer einfacher Fall liegt vor, wenn Sie Elemente und Attribute in einem einfachen "An-Aus-Verfahren" entfernen möchten. Dies funktioniert allerdings nur bei sehr einfachen Elementen mit überschaubarem Inhaltsmodell und ohne Abhängigkeiten zu anderen Elementen. Ist dies der Fall, benötigen Sie lediglich einige Zeilen in der internen Teilmenge der DTD. Das Ganze sieht dann so aus:

Beispiel: Einfache Anpassung in der internen Teilmenge der DTD

<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN" "http://www.docbook.org/xml/4.5/docbookx.dtd"
[
  <!-- Überschreiben Sie hier Entity-Deklarationen oder definieren Sie neue Elemente oder Attribute -->
]>
<book>...</book>
Tipp der data2type-Redaktion:
Zum Thema DocBook bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an:

Copyright © 2009 Millin Verlag
Für Ihren privaten Gebrauch dürfen Sie die Online-Version ausdrucken.
Ansonsten unterliegt dieses Kapitel aus dem Buch "DocBook-XML: Medienneutrales und plattformunabhängiges Publizieren" 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.

Millin Verlag, Siebengebirgsring 36, 53797 Lohmar, info(at)millin.de