XSLT <xsl:choose>-Element
- Vorherige Seite XSLT <if>
- Nächste Seite XSLT apply
Der XSLT <xsl:choose>-Element wird verwendet, um <xsl:when> und <xsl:otherwise> zu kombinieren, um mehrfache Bedingungen zu testen.
<xsl:choose>-Element
Syntax
<xsl:choose> <xsl:when test="Ausdrucksbedingung"> ... Ausgabe ... </xsl:when> <xsl:otherwise> ... Ausgabe ... </xsl:otherwise> </xsl:choose>
Wo die Auswahlbedingungen platzieren
Um mehrfache Bedingungen in einer XML-Datei zu testen, fügen Sie <xsl:choose>, <xsl:when> und <xsl:otherwise> zur XSL-Datei hinzu:
<?xml version="1.0" encoding="ISO-8859-1"?> <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"> <tr> <td><xsl:value-of select="title"/></td> <xsl:choose> <xsl:when test="price > 10"> <td bgcolor="#ff00ff"> <xsl:value-of select="artist"/></td> </xsl:when> <xsl:otherwise> <td><xsl:value-of select="artist"/></td> </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
Der obige Code fügt der "Artist"-Spalte eine rosa Hintergrundfarbe hinzu, wenn der Preis des CDs höher als 10 ist.
Der obige Transformationsresultat ähnelt so etwas:

Betrachten Sie diese XML-Datei,Betrachten Sie diese XSL-Datei,Ergebnisse anzeigen.
Ein weiteres Beispiel
Dies ist ein weiteres Beispiel, das zwei <xsl:when>-Elemente enthält:
<?xml version="1.0" encoding="ISO-8859-1"?> <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"> <tr> <td><xsl:value-of select="title"/></td> <xsl:choose> <xsl:when test="price > 10"> <td bgcolor="#ff00ff"> <xsl:value-of select="artist"/></td> </xsl:when> <xsl:when test="price > 9"> <td bgcolor="#cccccc"> <xsl:value-of select="artist"/></td> </xsl:when> <xsl:otherwise> <td><xsl:value-of select="artist"/></td> </xsl:otherwise> </xsl:choose> </tr> </xsl:for-each> </table> </body> </html> </xsl:template> </xsl:stylesheet>
Der obige Code fügt eine rosa Hintergrundfarbe zur "Artist"-Spalte hinzu, wenn der Preis des CDs höher als 10 ist, und eine graue Hintergrundfarbe hinzu, wenn der Preis des CDs höher als 9 und weniger als oder gleich 10 ist.
Der obige Transformationsresultat ähnelt so etwas:

Diesen XML-Datei anzeigen,Diesen XSL-Datei anzeigen,Ergebnisse anzeigen.
- Vorherige Seite XSLT <if>
- Nächste Seite XSLT apply