xsl:choose と xsl:otherwise と連携して、複数の条件分岐を提供する。
<xsl:when expr="script-expression" language="language-name" test="pattern" >
- expr
- 評価の結果ブール値が得られるスクリプト式。この式が TRUE で、test パターンが成功した場合、xsl:when の内容が出力される。これらのテストのどちらかが成功しなかった場合、同じ xsl:choose ブロック内の次の xsl:when または xsl:otherwise がテストされる。
- language
- expr 属性の式に使われているスクリプト言語。未指定の場合は、祖先の language 属性で指定されているカレントのスクリプト言語が使われる。そのような属性がない時は、JScript(ECMA 262 言語仕様と互換性があるもの)が使われる。この属性の有効値は、HTML の SCRIPT エレメントの language 属性と同じである。
- test
- カレントの context に対してテストされる XSL パターン。デフォルト値は"."である。これはカレント・ノードの評価を表し、故にいつも true である。完全な説明は、XSL Pattern Syntax を見よ。
親に含めるエレメント数 制限なし 親となるエレメント xsl:choose 子となるエレメント xsl:apply-templates xsl:attribute, xsl:choose, xsl:comment, xsl:copy, xsl:element, xsl:eval, xsl:for-each, xsl:if, xsl:pi, xsl:value-of, output elements
xsl:choose で選択される分岐のひとつを記述する。デフォルトの分岐は、xsl:otherwise エレメントで記述される。
単純な条件のテストには、xsl:if エレメントを使用せよ。