Formatieren von Abschnitten

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

Ebenso wie in Formatieren von Abschnitten im Kapitel "(X)HTML erzeugen" gezeigt wurde, verwenden Sie für XSL-FO ebenso das Template section.heading. Gehen Sie wie folgt vor:

  1. Erstellen Sie eine Anpassungsdatei wie in Anpassungsdatei für XSL-FO anlegen gezeigt wurde.
  2. Kopieren Sie das Template section.heading aus der Datei fo/sections.xsl in Ihre Anpassungsdatei.
  3. Lokalisieren Sie folgenden Code innerhalb des Templates:
<xsl:choose> 
    <xsl:when test="$level=1"> 
        <fo:block xsl:use-attribute-sets="section.title.level1.properties"> 
            <xsl:copy-of select="$title"/> 
        </fo:block> 
    </xsl:when> 
    <!-- Weitere xsl:when-Elemente --> 
</xsl:choose>
  1. Ersetzen Sie den Code im ersten xsl:when-Zweig durch folgende Zeilen:
<xsl:when test="$level=1"> 
    <fo:block xsl:use-attribute-sets="section.title.level1.properties">
        <xsl:if test="number($section.autolabel) != 0">
            <fo:inline xsl:use-attribute-sets="section.label.level1.properties"> 
                <xsl:apply-templates select=".." mode="label.markup"/> 
            </fo:inline> 
        </xsl:if> 
        <fo:inline>
            <xsl:apply-templates select="." mode="title.markup"/> 
        </fo:inline> 
    </fo:block> 
</xsl:when>

Zeile 2: Umhüllt Nummerierung und Titel.
Zeile 3: Überprüft, ob der Parameter section.autolabel auf den Wert 1 gesetzt wurde. Wenn die Nummerierung eingeschaltet wurde, wird ein fo:inline-Element mit der Zahl erzeugt.
Zeile 8: Erzeugt den Titel. Sie dürfen im fo:inline-Element zusätzliche Attribute setzen oder eine Attributmenge einfügen, ähnlich wie beim vorherigen Inline-Element.

  1. Passen Sie die Nummerierung durch folgende Attributmengen an:
<xsl:attribute-set name="section.label.level1.properties"> 
    <xsl:attribute name="color">white</xsl:attribute> 
    <xsl:attribute name="background-color">gray</xsl:attribute> 
    <xsl:attribute name="padding-left">0.25em</xsl:attribute> 
    <xsl:attribute name="padding-right">0.25em</xsl:attribute> 
    <xsl:attribute name="space-end">1em</xsl:attribute> 
</xsl:attribute-set>
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