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