| <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 |
|