Phần tử <xsl:when> của XSLT

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

Phần tử <xsl:when> được sử dụng để quy định hành động liên quan đến phần tử <xsl:choose>.

Phần tử <xsl:when> sẽ tính toán một biểu thức, nếu trả về true, sẽ thực hiện hành động được quy định.

Chú ý:<xsl:when> phần tử cung cấp nhiều điều kiện kiểm tra liên quan đến phần tử <xsl:choose> và <xsl:otherwise>.

Cú pháp

<xsl:when test="boolean-expression">
  <!-- Nội dung: template -->
</xsl:when>

Thuộc tính

Thuộc tính Giá trị Mô tả
kiểm tra boolean-expression Bắt buộc. Định nghĩa biểu thức boolean cần kiểm tra.

Mô hình

Ví dụ 1

Dưới đây là mã 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

Đã khai báo một biến có tên là "color". Gán giá trị của nó cho thuộc tính color của phần tử hiện tại. Nếu phần tử hiện tại không có thuộc tính color, giá trị của "color" sẽ 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>