XSL-Stylesheets anpassen und erweitern

Das XSL Customization Layer

Die DocBook XSL-Stylesheets lassen sich über Parameter in weiten Teilen gut steuern. Da die Eingabe von Parametern wie im Abschnitt Profilieren von DocBook: Teil II sehr mühselig ist und die gewählten Einstellungen sich so schlecht speichern lassen, werde ich zeigen, wie man ein Customization Layer erstellt, in dem die Parameter gesichert werden.

wichtige Parameter für alle Stylesheets

admon.graphics.extension

Setzt die Dateierweiterung für Grafiken, die bei Anmerkungen verwendet werden

admon.graphics.path

Pfad zu Grafiken für Anmerkungen

admon.graphics

Wenn der Wert auf „1“ gesetzt wird, werden Grafiken für Anmerkungen verwendet

callout.graphics.extension

Dateierweiterung für Callout-Grafiken

callout.graphics.number.limit

Maximale Anzahl an Grafiken für Callouts

callout.graphics.path

Pfad zu Callout-Grafiken

callout.graphics

Wenn der Wert auf „1“ gesetzt wird, werden Grafiken für Callouts verwendet

callout.list.table

Wenn der Wert auf „1“ gesetzt wird, so werden Callouts in einer Tabelle anstatt in einer Definitionsliste aufgelistet

callouts.extension

Wenn der Wert auf „1“ gesetzt wird, so werden die XSL-Erweiterungen für Callouts verwendet, so dass Callouts auch in programlisting erscheinen.

toc.section.depth

Wenn Inhaltsverzeichnisse automatisch erzeugt werden, bis zu welcher Schichtungsebene sollen Abschnitte aufgeführt werden

generate.section.toc.level

Bis zu welcher Schichtungsebene sollen Abschnitte ein Inhaltsverzeichnis haben

generate.index

Um ein Stichwortverzeichnis zu erzeugen, muss dieser Wert auf „1“ gesetzt werden

linenumbering.everyNth

jede wievielte Zeile soll in Programmcodes numeriert sein

linenumbering.extension

die XSL-Erweiterung zur Numerierung von Zeilen kann durch Setzen des Wertes „1“ aktiviert werden

linenumbering.separator

dieses Zeichen soll Zeilennummer und Zeileninhalt trennen, wenn Zeilen nummeriert werden

tablecolumns.extension

Wenn der Wert auf „1“ gesetzt ist, versucht die XSL-Erweiterung, die Spaltenbreiten der HTML-Tabellen besser an die CALS-Vorgaben anzupassen

textinsert.extensions

Ermöglicht es, Textdateien an einer bestimmten Stelle im Text einzufügen (Wert muss auf „1“ gesetzt werden)

graphicsize.extension

Durch Setzen des Wertes auf „1“ kann der Prozessor die Größe von Bildern bestimmen

use.extensions

Wenn der Wert ungleich „0“ ist, werden Erweiterungen benutzt

chapter.autolabel

Kapitel automatisch numerieren

appendix.autolabel

Anhänge automatisch numerieren

preface.autolabel

Vorworte automatisch numerieren

section.autolabel

Abschnitte automatisch numerieren

wichtige Parameter für HTML Stylesheets

html.stylesheet

Name eines CSS-Stylesheets welches dem Dokument zugeordnet werden soll

use.id.as.filename

ID von Kapiteln und Abschnitten als Dateiname nutzen

css.decoration

soll CSS in Elementen verwendet werden

make.valid.html

Das Stylesheet soll versuchen, gültiges HTML zu erzeugen

surpress.navigation

Navigation unterdrücken

surpress.header.navigation

Navigation am Seitenanfang unterdrücken

surpress.footer.navigation

Navigation am Seitenende unterdrücken

table.borders.with.css

soll CSS benutzt werden, um Tabellenrahmen zu definieren

chunk.section.depth

Bis zu welcher Schichtungsebene sollen Abschnitte auf einzelne Dateien aufgeteilt werdem

chunk.first.section

soll für den ersten Abschnitt jedes Kapitels eine eigene Datei angelegt werden

navig.graphics

sollen Grafiken in der Navigation verwendet werden

navig.graphics.extension

Dateierweiterung der Grafiken für die Navigation

navig.graphics.path

Pfad, in dem Navigationsgrafiken zu finden sind

navig.showtitles

sollen die Titel der nächsten/vorherigen Dokumentteile in der Navigation angezeigt werden?

wichtige Parameter für XSL:FO Stylesheets

fop.extensions

Apache-FOP-spezifische Erweiterungen zulassen

page.height

Höhe der Seite

page.width

Breite der Seite

page.type

Seitenformat, z.B. A4, setzt Höhe und Breite automatisch

column.count.body

Anzahl der Spalten im Haupteil

column.count.index

Anzahl der Spalten im Stichwortverzeichnis

body.font.master

Schriftgröße im Text

body.font.family

Schriftart für den Text

title.font.family

Schriftart für die Titel

Um die Einstellungen für gesetzte Parameter zu speichern, sollte man eine XSL-Datei anlegen, die das entsprechende Stylesheet importiert und in dieser Datei den Parametern Werte zuweisen.

Beispiel 4.9. XSL-Customization-Layer für XSL:FO

<?xml version='1.0'?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
        version='1.0'
        xmlns="http://www.w3.org/TR/xhtml1/transitional"
        xmlns:fo="http://www.w3.org/1999/XSL/Format"
        exclude-result-prefixes="#default">

        <xsl:import href="/opt/docbook-xsl/fo/docbook.xsl"/>
        
        <xsl:variable name="body.font.family">sans-serif</xsl:variable>
</xsl:stylesheet>

Dieses Customization-Layer setzt nur die Schriftart für den Fließtext.