xsl:选择检查所有xsl:when条件

Ale*_*rov 4 xslt xslt-2.0

有没有办法<choose>在第一<when>场比赛后不离开,但继续检查其他条件?

Pav*_*ler 14

我相信这是不对的.正如规范所说:

实例化第一个且仅第一个xsl:when元素的内容,该元素的测试为真.如果没有xsl:when为true,则实例化xsl:otherwise元素的内容.如果没有xsl:when元素为true,并且没有xsl:otherwise元素,则不创建任何内容.

来自:http://www.w3.org/TR/xslt#section-Conditional-Processing-with-xsl:选择

你无法通过其他类似的条件使其堕落.<xsl:if>如果您需要通过,只需将其转换为一组跟随

更新.以下是O'Reilly的XSLT书籍(http://docstore.mik.ua/orelly/xml/xslt/ch04_02.htm)的引用:

C,C++和Java switch语句大致相当于该元素.一个例外是程序语言倾向于使用fallthrough处理.换句话说,如果switch语句的一个分支的计算结果为true,那么运行时会执行所有操作,直到遇到break语句,即使某些代码是其他分支的一部分.该元素不起作用.如果给定的计算结果为true,则仅评估其中的语句