Festlegen von Dateinamen

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

Es gibt drei Möglichkeiten, wie Dateinamen von Teildateien benannt werden:

  • automatisch – dies ist das Standardverhalten bei den DocBook-Stylesheets
  • durch ein id-Attribut im entsprechenden Chunk-Element
  • durch eine Verarbeitungsanweisung

Automatisches Erstellen der Dateinamen

Ein automatisch generierter Name besteht aus einem Kürzel mit einer laufenden Nummer, die sich wiederholen dürfen. Beim dritten Abschnitt des fünften Kapitels würde beispielsweise der Dateiname ch05s03.html erzeugt. Die folgende Tabelle fasst die Kürzel zusammen.

Tabelle: Kürzel der Chunk-Elemente

Kürzel Elementname Kürzel Elementname
ap appendix ar article a
bi bibliography bk book b
ch chapter co colophon
go glossary ix index
ln legalnotice c pt part
pr preface re refentry
rh revhistory d rn reference
s sect{1,2,3,4,5}, section si setindex

a   Nur in einem book.
b   Nur in einem set.
c   Nur wenn Parameter generate.legalnotice.link den Wert 1 besitzt. 
d   Nur wenn Parameter generate.revhistory.link den Wert 1 besitzt.  

Bei der Transformation eines DocBook-Dokuments wird dabei ungefähr folgende Ausgabe erzeugt:

Writing ch01s02.html for section(sec.xmlintro.xml10)
Writing ch01s03.html for section(sec.xmlintro.whatisxml)
Writing ch01s04.html for section(sec.xmlintro.parser)
Writing ch01s05.html for section

Die Ausgabe zeigt den Namen des entsprechenden Elements und (falls vorhanden) den id-Wert in Klammern. Soll die Ausgabe unterdrückt werden, setzen Sie den Parameter chunk.quietly auf den Wert 1.

Obwohl die Namensgebung plausibel ist, "wackelt" sie spätestens dann, wenn das Dokument bearbeitet wird: Das Hinzufügen und Löschen von Strukturelementen durchbricht zwangsläufig dieses Nummerierungsschema. Somit stellt diese Methode ein potenzielles Risiko dar, wenn häufig geänderte Dokumente ins Web gestellt werden und darauf verwiesen wird. Wenden Sie daher besser eine der beiden folgenden Methoden

Erstellen von Dateinamen über das id-Attribut

Enthält ein Strukturelement das Attribut id bzw. xml:id, kann daraus der Dateiname erstellt werden:

DocBook 4: <chapter id="XML-Intro"
DocBook 5: <chapter xml:id="XML-Intro">

Setzen Sie den Parameter use.id.as.filename auf den Wert 1, um dieses Namensschema zu aktivieren:

xsltproc --param use.id.as.filename 1 ...

Bei der Transformation wird ausgegeben:

Writing XML-Intro.html for chapter(XML-Intro)

Der Inhalt des chapter-Elements wird in die Datei XML-Intro.html geschrieben. Dies funktioniert bei allen Chunk-Elementen aus der Tabelle Chunk elements, die eine neue Teildatei erzeugen, außer beim Wurzelelement. Standardmäßig ist das Wurzelelement (unabhängig vom Elementnamen) immer index.html, es sei denn, der Parameter root.filename wird auf einen anderen Wert gesetzt.

Selbst die Dateinamenserweiterung lässt sich ändern. Setzen Sie hierfür den Parameter html.ext ein, standardmäßig wird .html verwendet.

Dateinamen mit Hilfe einer Verarbeitungsanweisung

Falls die ID-Werte uneinheitlich sind, ungewöhnliche Zeichen enthalten, ist es empfehlenswert sie nicht als Dateinamen zu verwenden. In diesem Fall fügen Sie eine Verarbeitungsanweisung ein:

<chapter>
  <?dbhtml filename="XML-Intro.html"?>
  <title>Einführung in XML</title> ...

Die Verarbeitungsanweisung <?dbhtml?> besitzt das Schlüsselwort filename, das den Namen der (X)HTML-Datei aufnimmt. Zu beachten ist, dass das Stylesheet den Namen unverändert lässt, das heißt, es werden keine zusätzlichen Anhänge oder Ähnliches an den Dateinamen angehängt. Des Weiteren sollte darauf geachtet werden, dass die Verarbeitungsanweisung innerhalb des zu benennenden Chunk-Elements erfolgt, das heißt, für ein Kapitel wird dieses nach chapter eingefügt, für einen Anhang nach appendix usw.

  

<< zurück vor >>
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