Elementong <xsl:when> sa XSLT

Paglilinaw at Paggamit

Ang <xsl:when> elemento ay ginagamit upang tukuyin ang aksyon na kaugnay sa <xsl:choose> elemento.

Ang <xsl:when> elemento ay magtutuos ng isang ekspresyon, kung ang ibabalik ay true, ay magpapatupad ng tinukoy na aksyon.

Komentaryo:Ang <xsl:when> elemento ay nagbibigay ng maraming kundisyonal na pagsusuri na may kaugnayan sa <xsl:choose> at <xsl:otherwise> elemento.

Mga gramatika

<xsl:when test="boolean-expression">
  <!-- Content: template -->
</xsl:when>

Attribute

Attribute Halaga Paglalarawan
test boolean-expression Mga kinakailangan. Nagtutukoy sa boolean expression na dapat testin.

Mga salin

Halimbawa 1

Ang mga sumusunod na code ay maglalagay ng kulay na rosas sa listahan ng artist kapag ang halaga ng price ng cd ay mas mataas sa 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>

Tingnan ang XML fileTingnan ang XSL fileTingnan ang resulta

Halimbawa 2

Isinala ang isang variable na may pangalan na "color". Ihatid ang halaga nito sa attribute na color ng kasalukuyang elemento. Kung walang attribute na color ang kasalukuyang elemento, ang halaga ng "color" ay magiging "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>