Thẻ <xsl:choose> trong XSLT
Định nghĩa và cách sử dụng
<xsl:choose> phần tử và phần tử <xsl:when> và <xsl:otherwise> kết hợp lại, có thể biểu đạt nhiều điều kiện kiểm tra.
Nếu không có <xsl:when> là true, thì xử lý nội dung của <xsl:otherwise>.
Nếu không có <xsl:when> nào là true và không có thẻ <xsl:otherwise>, thì không tạo nội dung nào.
Lưu ý:Để thực hiện các kiểm tra điều kiện đơn giản, hãy sử dụng thẻ <xsl:if> thay thế.
Ngữ pháp
<xsl:choose> <!-- Nội dung:(xsl:when+,xsl:otherwise?) --> </xsl:choose>
Thuộc tính
None
Bài mẫu
Ví dụ 1
Mã dưới đây sẽ thêm màu nền hồng cho cột artist khi giá CD cao hơn 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>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>
Xem tệp XML, xem tệp XSL, xem kết quả.
Ví dụ 2
Định nghĩa biến có tên "color". Gán giá trị của biến này vào thuộc tính color của phần tử current. Nếu phần tử current không có thuộc tính color, giá trị của color là "green":
<xsl:variable name="color"> <xsl:choose> <xsl:when test="@color"> <xsl:value-of select="@color"/> </xsl:when> <xsl:otherwise>green</xsl:otherwise> </xsl:choose> </xsl:variable>