XML-Know How

Nummerierung

xsl:number

Mit <xsl:number> lassen sich Knoten im Ergebnisbaum nummerieren. Es lassen sich in einem Stylesheet gleichzeitig verschiedene Elemente nach verschiedenen Regeln nummerieren und damit beispielsweise Kapitel-, Abschnitts- oder Bildunterschriftenzählungen vollautomatisch erreichen. Die Art der Nummerierung lässt sich über das Attribut format steuern. format="a" erzeugt dabei eine Zählung mit Buchstaben. Daneben gibt es "1" (arabische Ziffern), "A" (Großbuchstaben), "i" (römische Ziffern in Kleinbuchstaben) und "I" (römische Ziffern in Großbuchstaben):

Beispiel:

<xsl:template match="rezept">

<xsl:number format="a"/>

<xsl:value-of select="ueberschrift1"/>

</xsl:template>

Das durch dieses Template erzeugte Fragment sieht folgendermaßen aus:

aHuhn mit Rosmarinkartoffeln

bSelleriesuppe

xsl:text

Um das Ergebnis noch ein wenig schöner zu machen, können wir mit <xsl:text>… </xsl:text> noch weitere Zeichenfolgen hinter die Nummerierungszeichen schreiben:

Beispiel:

<xsl:template match="rezept">

<xsl:number format="a"/>

<xsl:text>) </xsl:text>

<xsl:value-of select="ueberschrift1"/>

</xsl:template>

Das Ergebnis sieht dann so aus:

a) Huhn mit Rosmarinkartoffeln

b) Selleriesuppe