4

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

4

1 回答 1

16

我相信这是一个不。正如规范所说:

第一个且只有第一个 xsl:when 元素的内容被实例化,其测试为真。如果没有 xsl:when 为真,则实例化 xsl:otherwise 元素的内容。如果没有 xsl:when 元素为真,并且没有 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 语句,即使其中一些代码是其他分支的一部分。该元素不能那样工作。如果给定的评估结果为真,则仅评估内部的语句

于 2012-04-17T16:01:18.083 回答