最新のWeb開発のチュートリアル
 

XSLT <xsl:choose> Element


<XSLT要素のリファレンス

定義と使用法

<xsl:choose>要素は、と組み合わせて使用され<xsl:when><xsl:otherwise>複数の条件付きテストを発現すること。

noの場合<xsl:when>真である、のコンテンツ<xsl:otherwise>処理されます。

もしノー<xsl:when>真で、かつ無<xsl:otherwise>要素が存在している、何も作成されません。

Tip:簡単な条件テストでは、使用<xsl:if>代わりに要素を。


構文

<xsl:choose>

  <!-- Content:(xsl:when+,xsl:otherwise?) -->

</xsl:choose>

属性

なし


CDの価格は10よりも高い場合に以下のコードは、アーティスト欄にピンクの背景色を追加します。

<?xml version="1.0" encoding="UTF-8"?>
<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 &gt; 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>
»それを自分で試してみてください

名前の変数宣言"color" 。 その値を設定しcolor現在の要素の属性。 現在の要素が何色の属性を持っていない場合は、値の"color"になります"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>

<XSLT要素のリファレンス