Login
Newsletter
Werbung

Do, 28. März 2013, 15:00

Einführung in Docbook

Wer publiziert, Software dokumentieren möchte oder sich mit elektronischen Dokumentenformaten beschäftigt, der stößt irgendwann mit Sicherheit auf Docbook. Docbook stammt aus dem Bereich der EDV-Dokumentation und wird überwiegend, aber nicht ausschließlich, dafür verwendet. Docbook ist ausgereift und umfangreich genug, um eine Grundlage für die professionelle Buchproduktion zu sein (so basiert zum Beispiel die gesamte Produktionskette des Verlages O'Reilly darauf), wird aber auch für kleinere Projekte verwendet, wie zum Beispiel die Linux-Manpages. Docbook wird mittlerweile vielfältig eingesetzt und es kann damit grundsätzlich plattformunabhängig bzw. -übergreifend gearbeitet werden.

Hallo, Docbook!

Docbook ist eine auf XML basierende Auszeichnungssprache für verschiedenartige Dokumente. Es umfasst eine ganze Reihe von rein semantisch definierten Tags, mit denen sich die einzelnen Elemente zum Beispiel eines Artikels, wie Überschriften und Textabschnitte, zunächst völlig darstellungsneutral aufnehmen lassen. Docbook-Dateien sind reine Textdateien; in einem weiteren Produktionsschritt lassen sich daraus verschiedene Ausgabeformate wie HTML/XHTML, EPUB und PDF erzeugen. Die Trennung von Masterdatei und daraus bzw. davon gesetztem Dokument wird einigen Lesern bereits von dem Textsatzsystem LaTeX her bekannt sein. Docbook unterscheidet sich davon allerdings dadurch, dass hier die Quelldatei keine direkten Typensatzbefehle enthält, sondern einzelne Text- und Dokumentelemente ausgezeichnet werden, die bei Erzeugen des Ausgabeformates beliebig verwendet werden können. Textabschnitte zum Beispiel, die in der Masterdatei mit <emphasis> gekennzeichnet worden sind, können im Ausgabeformat beliebig gehandhabt, kursiv oder fett gesetzt oder aber auch gar nicht hervorgehoben werden. Die strikte Trennung in Inhalt und Form (Prinzip: »was« und nicht: »wie«) macht Docbook sehr flexibel. So können zum Beispiel auch verschiedene Sprachversionen oder auch andere Varianten desselben Textes in eine einzige Masterdatei geschrieben und dann verschiedene Dokumente daraus generiert werden.

Dieser Artikel führt in die Benutzung von Docbook 5.0 auf einem typischen Linux-System (Ubuntu 12.04 LTS) ein; dabei werden zumindest grundlegende XML-Kenntnisse vorausgesetzt. Als weiterführende Literatur empfiehlt sich der bei O'Reilly im Druck vertriebene »Definitive Guide« zu Docbook 5.0 von Norman Walsh, der als Referenz-Dokumentation mittlerweile auch frei im Netz angeboten wird, und zwar zusammen mit seinem Docbook-Quellcode. Empfohlen sei an dieser Stelle auch das sehr ausführliche Handbuch »Docbook-XML – Medienneutrales und plattformunabhängiges Publizieren« von Thomas Schraitle (ISBN 978-3-938626-14-6).

Schemata

Docbook wurde zunächst als DTD-Schema für den XML-Vorgänger SGML entwickelt. Ab Version 4.1 wurde daneben auch eine Dokumenttypdefinition (DTD) für XML bereit gestellt. Seit 5.0 ist Docbook ausschließlich in XML umgesetzt, und zwar hauptsächlich in der gegenüber DTD stark weiterentwickelten XML-Schemasprache Relax NG in Verbindung mit einigen Ergänzungen in Schematron. Die daneben offiziell gepflegten Schemata in den Sprachen DTD und W3C XML Schema (XSD) haben nicht ganz denselben Funktionsumfang wie diese. Die Docbook-Schemata werden mittlerweile vom Docbook Technical Commitee bei OASIS betreut und stehen unter der freien BSD-Lizenz. Die aktuelle Version von Docbook ist 5.0, welche neben Version 4.1 und 4.5 ein offizieller ist OASIS-Standard. Der 4.x-Zweig ist mit der eingefrorenen Version 4.5 abgeschlossen worden und das zukünftige Docbook 5.1 hat mittlerweile das 7. Beta-Release erreicht.

Auf Debian-basierten APT-Systemen wie Ubuntu sind die älteren, aber noch gebräuchlichen SGML- und XML-DTDs bis hoch zu Version 4.5 in den Paketen docbook und docbook-xml verfügbar, während sich die aktuellen Docbook 5.0-Schemata mit dem Paket docbook5-xml bequem installieren lassen. Das Relax NG-Schema (.rng) befindet sich dann zusammen mit seiner Variante in kompakter Syntax (.rnc) im Verzeichnis /usr/share/xml/docbook/rng/5.0, während sich die Schematron-Ergänzungen (docbook.sch) sowie die Konvertierungen in DTD- und XML-Schemata in entsprechenden, parallelen Verzeichnissen vorfinden. Die XML-Schemata lassen sich aber ohne Weiteres auch per Hand von der OASIS-Seite zum Beispiel direkt in das Arbeitsverzeichnis einspielen und von dort aus verwenden.

Pro-Linux
Pro-Linux @Facebook
Neue Nachrichten
Werbung