Formatieren von Abschnitten

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

Ebenso wie bei Kapiteln und vergleichbaren Strukturen, werden Nummerierung und Titel zusammen ausgegeben. Das folgende Vorgehen separiert beide und erzeugt für die Nummerierung eine weiße Schrift auf grauem Hintergrund. Gehen Sie wie folgt vor:

  1. Erstellen Sie eine Anpassungsdatei, wie in Anpassungsdatei für (X)HTML anlegen gezeigt. Setzen Sie in Ihrer Anpassungsdatei den Parameter html.stylesheet auf Ihre CSS-Datei (siehe Einfügen eines Verweises auf eine CSS-Datei).
  2. Kopieren Sie das Template section.heading in Ihre Anpassungsdatei. Sie finden es je nach Zielformat in html/sections.xsl oder xhtml/sections.xsl.
  3. Lokalisieren Sie folgenden Code innerhalb des Templates:
<xsl:copy-of select="$title"/>
  1. Ersetzen Sie den Code aus Schritt 3 durch folgende Zeilen:
<xsl:choose> 
    <xsl:when test="$level = 1 and string($section.autolabel) != 0">
        <span class="label">
            <xsl:apply-templates select="$section" mode="label.markup"/> 
        </span> 
        <span class="title">
            <xsl:apply-templates select="$section" mode="title.markup"/> 
        </span> 
    </xsl:when> 
    <xsl:otherwise>
        <xsl:copy-of select="$title"/> 
    </xsl:otherwise> 
</xsl:choose>

Zeile 2: Überprüft, ob ein Abschnitt der ersten Ebene vorliegt und ob der Parameter section.autolabel auf den Wert 1 gesetzt wurde. Nur wenn beide Bedingungen erfüllt sind, werden Nummerierung und Titel getrennt.
Zeile 3: Erzeugt die Nummerierung und fügt sie in ein span-Element mit class-Attribut ein. Mittels CSS kann diese Nummerierung formatiert werden.
Zeile 6 wie Zeile 3, jedoch für den Titel.
Zeile 10: Falls die Bedingungen in Zeile 2 nicht erfüllt sind, wird der Titel aus dem Parameter title kopiert.

  1. Erstellen Sie eine CSS-Datei und fügen Sie folgende Regeln ein, die Abbildung darunter zeigt das Ergebnis:
h2.title span.label { 
  color: white; 
  background-color:gray; 
  margin-right: 1ex; 
  padding-left: 0.25em; 
  padding-right: 0.25em; 
}

Separierte Nummerierung eines Abschnitts der ersten Ebene

Abbildung: Separierte Nummerierung eines Abschnitts der ersten Ebene

  

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