« XSL-Start

Filtern und Sortieren#

../../_images/fernbedienungen.jpg

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<xsl:for-each select="person[postanschrift/wohnort='Berlin']">
2...
3</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<table border="1">
 2<xsl:for-each select="geburtstage/person">
 3  <xsl:sort select="gebdatum" order="ascending"/>
 4  <tr>
 5    <td><b><xsl:value-of select="name" /></b></td>
 6    <td><b><xsl:value-of select="gebdatum" /></b></td>
 7    <td><b><xsl:value-of select="@gebort" /></b></td>
 8  </tr>
 9 </xsl:for-each>
10 </table>