XML-Know How

Sortierung

xsl:sort

Mit Hilfe des Elementes <xsl:sort/> lassen sich Knoten vor ihrer Ausgabe sortieren. Als Standard ist die Sortierung von Zeichenketten in aufsteigender alphabetischer Reihenfolge vorgegeben. Das Attribut order definiert die Sortierreihenfolge und kann die Werte "ascending" oder "descending" einnehmen, während das ebenfalls optionale Attribut data-type festlegt, ob es sich um Zeichenketten ("text") oder Zahlen ("number") handelt. Das Attribut select gibt an, welches das Sortierkriterium ist. Im folgenden Beispiel ist dies das Attribut @kalorienangabe innerhalb von <rezept>:

Beispiel:

<xsl:template match="kapitel">

<xsl:apply-templates>

<xsl:sort select="@kalorien" order="ascending"/>

</xsl:apply-templates>

</xsl:template>

Dieses Template sorgt dafür, dass die Rezepte aufsteigend nach ihrer Kalorienanzahl sortiert ausgegeben werden. (Beachten Sie, dass das <xsl:sort>-Element innerhalb von <xsl:apply-templates> steht, welches wir bislang nur als leeres Element kennengelernt haben!)