xsl:for-each

Mit xsl:for-each können Elemente unabhängig von anderen Elementen der Sequenz verarbeitet werden. Das heißt, dass die Elemente in beliebiger Ordnung oder parallel verarbeitet werden können. Die Elemente werden dann aber wieder entsprechend der Eingabeordnung ausgegeben. Mit diesem Konstrukt lässt sich die Eingabe im Gegensatz zu xsl:iterate auch ordnen.

Das Grundgerüst für xsl:for-each ist im folgenden Code-Beispiel dargestellt.

Code-Beispiel: Einführungsbeispiel zu xsl:for-each.

<xsl:for-each select="Ausdruck">
  <xsl:sort select="Name/Familienname"/>
</xsl:for-each>

Grundgerüst von xsl:for-each.

Zeile 1: In der xsl:for-each-Anweisung wird jedes Element einer Eingabe-Sequenz einmal verarbeitet, indem der Sequenzkonstruktor der Anweisung für jedes Element einmal ausgewertet wird. Das select-Attribut ist nötig, um die Eingabe-Sequenz aufzubauen, indem ein XPath-Ausdruck verarbeitet wird (eine Ausnahme ist hier die Erweiterung von Maps).

Zeile 2: Mit dem optionalen xsl:sort-Element lässt sich die Eingabe-Sequenz sortieren. Ist dieses nicht angegeben, entspricht die sortierte Ausgabe-Sequenz der Eingabe-Sequenz. In diesem Beispiel ist angegeben worden, dass die Eingangssequenz nach dem Familienname sortiert werden soll und dann ausgegeben wird.

Übung zu xsl:for-each

   

<< zurück vor >>
Tipp der data2type-Redaktion:
Zum Thema XSLT bieten wir auch folgende Schulungen zur Vertiefung und professionellen Fortbildung an: