【发布时间】:2012-04-28 23:44:44
【问题描述】:
有没有办法在第一次 <when> 匹配后不离开 <choose> 但继续检查其他条件?
【问题讨论】:
有没有办法在第一次 <when> 匹配后不离开 <choose> 但继续检查其他条件?
【问题讨论】:
我相信这是一个不。正如规范所说:
第一个,并且只有第一个 xsl:when 元素的内容 测试为真被实例化。如果没有 xsl:when 为真,则 xsl:otherwise 元素被实例化。如果没有 xsl:when 元素是 true,并且没有 xsl:否则元素不存在,什么都不会创建。
来自: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 语句大致相当于 元素。一个例外是程序语言 倾向于使用fallthrough处理。换句话说,如果一个分支 switch 语句的计算结果为 true,运行时执行所有操作 直到遇到 break 语句,即使其中一些代码是 其他分支的一部分。该元素不起作用 大大地。如果给定的计算结果为真,则只有语句 内部被评估
【讨论】:
<xsl:if>