<choose>
最初の試合後に離れずに<when>
他の条件をチェックし続ける方法はありますか?
1 に答える
いいえ、それはないと思います。仕様が言うように:
テストが真である最初の、そして最初のxsl:when要素のコンテンツがインスタンス化されます。xsl:whenがtrueでない場合、xsl:otherwise要素の内容がインスタンス化されます。xsl:when要素がtrueでなく、xsl:otherwise要素が存在しない場合、何も作成されません。
差出人:http ://www.w3.org/TR/xslt#section-Conditional-Processing-with-xsl:choose
あなたはそれをそのような他の条件に陥らせることはできません。<xsl:if>
フォールスルーが必要な場合は、それを互いにフォローするセットに変換するだけです
更新。O'ReillyのXSLTブック(http://docstore.mik.ua/orelly/xml/xslt/ch04_02.htm)からの引用は次のとおりです。
C、C ++、およびJavaのswitchステートメントは、要素とほぼ同等です。唯一の例外は、手続き型言語はフォールスルー処理を使用する傾向があることです。つまり、switchステートメントのブランチがtrueと評価された場合、そのコードの一部が他のブランチの一部であっても、ランタイムはbreakステートメントに遭遇するまですべてを実行します。要素はそのようには機能しません。与えられたものがtrueと評価された場合、その中のステートメントのみが評価されます