« XSL-Start

Filtern und Sortieren

Lernziel

In dieser Station lernen Sie, wie Sie Informationen filtern und sortieren.

Handlungsanweisungen

Aufgaben:
  1. Geben Sie alle CDs sortiert nach dem Bandnamen aus.

XSL: Filtern

Neben den Bedingungen, die Sie schon kennengelernt haben, können Sie auch Informationen durch XPath, also durch die Pfadangaben, filtern. Hier ein Beispiel:

1
2
3
<xsl:for-each select="person[postanschrift/wohnort='Berlin']">
...
</xsl:for-each>

In diesem Fall werden nur solche Datensätze ausgewählt, die als Wohnort „Berlin“ beinhalten.

XSL: Sortieren

Manchmal ist es nützlich, wenn Sie die Ausgabe nach den Inhalt eines bestimmten Elementes sortieren. Die Syntax sieht so aus:

1
<xsl:sort select="irgendein_tag" order="ascending"/>

Der Befehl für das Sortieren lautet: xsl:sort. Durch das Attribut select, wird das Element angegeben, nach dem Sortiert werden soll. Das Attribut order steht für die Sortierreihenfolge.

Mögliche Attribut-Werte:

ascending = Aufsteigend
descending = Absteigend

Außerdem gibt es auch noch ein Attribut case-order, das die Optionen

upper-first = Großbuchstaben zuerst
lower-first = Kleinbuchstaben zuerst

Beispiel:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
<table border="1">
<xsl:for-each select="geburtstage/person">
  <xsl:sort select="gebdatum" order="ascending"/>
  <tr>
    <td><b><xsl:value-of select="name" /></b></td>
    <td><b><xsl:value-of select="gebdatum" /></b></td>
    <td><b><xsl:value-of select="@gebort" /></b></td>
  </tr>
 </xsl:for-each>
 </table>