【问题标题】:xsl:choose check all xsl:when conditionsxsl:choose 检查所有 xsl:when 条件
【发布时间】:2012-04-28 23:44:44
【问题描述】:

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

【问题讨论】:

    标签: xslt xslt-2.0


    【解决方案1】:

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

    第一个,并且只有第一个 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 语句,即使其中一些代码是 其他分支的一部分。该元素不起作用 大大地。如果给定的计算结果为真,则只有语句 内部被评估

    【讨论】:

    • Thnx 快速回答,是的,必须使用<xsl:if>
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多