Đối tượng <xsl:choose> của XSLT

Định nghĩa và cách sử dụng

Phần tử <xsl:choose> kết hợp với phần tử <xsl:when> và <xsl:otherwise> để biểu đạt các điều kiện kiểm tra đa điều kiện.

Nếu không có <xsl:when> nào là true, hãy xử lý nội dung của <xsl:otherwise>.

Nếu không có <xsl:when> nào là true và không có phần tử <xsl:otherwise>, không tạo nội dung nào.

Lưu ý:Đối với các điều kiện kiểm tra đơn giản, hãy sử dụng phần tử <xsl:if> thay thế.

Ngữ pháp

<xsl:choose>
<!-- Nội dung:(xsl:when+,xsl:otherwise?) -->
</xsl:choose>

Thuộc tính

None

Mô hình

Ví dụ 1

Dưới đây là mã sẽ thêm màu nền hồng vào 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

Tạo biến tên là "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>