这是否适用于4< 5和1< 2?
<xsl:when test="4 < 5 AND 1 < 2" >
<!-- do something -->
</xsl:when>
答案 0 :(得分:200)
不完全是,AND必须是小写的。
<xsl:when test="4 < 5 and 1 < 2">
<!-- do something -->
</xsl:when>
答案 1 :(得分:32)
它必须包含在&lt; xsl:choose&gt;中因为这是一个时间。并小写“和”。
<xsl:choose>
<xsl:when test="4 < 5 and 1 < 2" >
<!-- do something -->
</xsl:when>
<xsl:otherwise>
<!-- do something else -->
</xsl:otherwise>
</xsl:choose>
答案 2 :(得分:6)
来自XML.com:
与xsl类似:if指令,xsl:when 元素可以更精细 他们的开始和之间的内容 结束标记 - 例如,文字结果 元素,xsl:元素元素,或 甚至xsl:if和xsl:选择elements-to 添加到结果树。他们的考验 表达式也可以使用全部 xsl:if的技巧和操作符 element的test属性可以使用,例如 as和,和,以及函数调用 构建更复杂的布尔值 表达式。
答案 3 :(得分:5)
也许对于xslt-professional来说这是一个明智的选择,但对于初学者/中级水平的人来说,这让我感到困惑。我想做同样的事情,但我必须从xml而不是普通数字测试响应时间值。在这个帖子之后,我尝试了这个:
<xsl:when test="responsetime/@value >= 5000 and responsetime/@value <= 8999">
生成错误。这有效:
<xsl:when test="number(responsetime/@value) >= 5000 and number(responsetime/@value) <= 8999">
但是,如果没有number(),不明白为什么它不起作用。可能是没有number(),该值被视为字符串,你不能将数字与字符串进行比较?
无论如何,希望这可以节省很多人的搜索......