4

<choose>最初の試合後に離れずに<when>他の条件をチェックし続ける方法はありますか?

4

1 に答える 1

16

いいえ、それはないと思います。仕様が言うように:

テストが真である最初の、そして最初の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と評価された場合、その中のステートメントのみが評価されます

于 2012-04-17T16:01:18.083 に答える