Element <xsl:choose> XSLT
Definicja i użycie
Element <xsl:choose> w połączeniu z elementami <xsl:when> oraz <xsl:otherwise> umożliwia wyrażenie wielokrotnych testów warunkowych.
Jeśli <xsl:when> jest prawdą, przetwarzaj zawartość <xsl:otherwise>.
Jeśli żaden <xsl:when> nie jest prawdziwy i nie istnieje element <xsl:otherwise>, nie twórz żadnej zawartości.
Wskazówka:Dla prostych testów warunkowych użyj elementu <xsl:if> zamiast.
Gramatyka
<xsl:choose> <!-- Content:(xsl:when+,xsl:otherwise?) --> </xsl:choose>
Atrybut
Brak
Przykład
Przykład 1
Poniższy kod doda różowy kolor tła do kolumny artist, jeśli cena CD jest wyższa niż 10:
<?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>Moja kolekcja płyt CD</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>
Zobacz plik XML, zobacz plik XSL, zobacz wynik.
Przykład 2
Deklaracja zmiennej o nazwie "color". Przypisz wartość tej zmiennej do atrybutu color elementu current. Jeśli element current nie ma atrybutu color, wartość color wynosi "green":
<xsl:variable name="color"> <xsl:choose> <xsl:when test="@color"> <xsl:value-of select="@color"/> </xsl:when> <xsl:otherwise>zielony</xsl:otherwise> </xsl:choose> </xsl:variable>