<xsl:if> | |
Diese Anweisung implementiert eine if-Anweisung. Sie enthält ein test-Attribut und eine XSLT-Vorlage. Ergibt das Attribut test den Booleschen Wert true, so wird die XSLT-Vorlage verarbeitet. Dieses Element implementiert nur eine if-Anweisung. Wenn Sie hingegen eine if-then-else-Anweisung benötigen, verwenden Sie das Element <xsl:choose> zusammen mit einem einzigen <xsl:when> und einem einzigen <xsl:otherwise>. | |
Kategorie | |
Anweisung |
|
Obligatorische Attribute | |
|
|
Optionale Attribute | |
Keine |
|
Inhalt | |
Eine XSLT-Vorlage |
|
Übergeordnetes Element | |
<xsl:if> erscheint innerhalb einer Template. |
|
Definition | |
XSLT-Abschnitt 9.1, Bedingte Verarbeitung mit xsl:if |
|
Beispiel | |
Die Funktionsweise des Elements <xsl:if> wird durch das folgende Stylesheet veranschaulicht: <?xml version="1.0"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text"/> <xsl:variable name="newline"> <xsl:text> </xsl:text> </xsl:variable> <xsl:template match="/"> <xsl:value-of select="$newline"/> <xsl:text>Here are the odd-numbered items from the list:</xsl:text> <xsl:value-of select="$newline"/> <xsl:for-each select="list/listitem"> <xsl:if test="(position() mod 2) = 1"> <xsl:number format="1. "/> <xsl:value-of select="."/> <xsl:value-of select="$newline"/> </xsl:if> </xsl:for-each> </xsl:template> </xsl:stylesheet> Dieses Stylesheet verwendet das Element <xsl:if>, um festzustellen, ob es sich bei der Position eines bestimmten <listitem> um eine ungerade Zahl handelt. Ist das der Fall, wird sie in den Ergebnisbaum geschrieben. Dieses Stylesheet wird mit dem folgenden Dokument getestet: <?xml version="1.0"?> <list> <title>A few of my favorite albums</title> <listitem>A Love Supreme</listitem> <listitem>Beat Crazy</listitem> <listitem>Here Come the Warm Jets</listitem> <listitem>Kind of Blue</listitem> <listitem>London Calling</listitem> <listitem>Remain in Light</listitem> <listitem>The Joshua Tree</listitem> <listitem>The Indestructible Beat of Soweto</listitem> </list> Hier die Ergebnisse, die entstehen, wenn diese Transformation ausgeführt wird: Here are the odd-numbered items from the list: 1. A Love Supreme 3. Here Come the Warm Jets 5. London Calling 7. The Joshua Tree |