XSLT <xsl:if>
❮ XSLT-Elementreferenz
Definition und Verwendung
Das <xsl:if>-Element enthält eine Vorlage, die nur angewendet wird, wenn eine angegebene Bedingung wahr ist.
Tipp: Verwenden Sie <xsl:choose> in Verbindung mit <xsl:when> und <xsl:otherwise>, um mehrere bedingte Tests auszudrücken!
Syntax
<xsl:if
test="expression">
<!-- Content: template -->
</xsl:if>
Attribute
Attribute | Value | Description |
---|---|---|
test | expression | Required. Specifies the condition to be tested |
Beispiele
Wählen Sie die Werte für Titel und Interpret aus, wenn der Preis der CD höher als 10 ist:
Beispiel 1
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<table border="1">
<tr bgcolor="#9acd32">
<th>Title</th>
<th>Artist</th>
</tr>
<xsl:for-each select="catalog/cd">
<xsl:if test="price > 10">
<tr>
<td><xsl:value-of select="title"/></td>
<td><xsl:value-of select="artist"/></td>
</tr>
</xsl:if>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Zeigen Sie den Titel jeder CD an. Fügen Sie ", " zwischen jedem CD-Titel ein, wenn es nicht die letzte CD oder die vorletzte ist. Wenn es die letzte CD ist, fügen Sie "!" hinter dem Titel. Wenn es sich um die vorletzte CD handelt, fügen Sie ", und " hinter dem Titel hinzu:
Beispiel 2
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>My CD Collection</h2>
<p>Titles:
<xsl:for-each select="catalog/cd">
<xsl:value-of select="title"/>
<xsl:if test="position()!=last()">
<xsl:text>, </xsl:text>
</xsl:if>
<xsl:if test="position()=last()-1">
<xsl:text> and </xsl:text>
</xsl:if>
<xsl:if test="position()=last()">
<xsl:text>!</xsl:text>
</xsl:if>
</xsl:for-each>
</p>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
❮ XSLT-Elementreferenz