这对于 When 4 < 5和1 < 2是正确的吗?
<xsl:when test="4 < 5 AND 1 < 2" > <!-- do something --> </xsl:when>
来自 XML.com:
像 xsl: if 指令,xsl: when 元素可以有更复杂的 内容之间的开始-和 结束标记ーー例如,文字结果 元素、 xsl: element 元素或 If 和 xsl: select 元素ー to 他们的测试 表达式也可以使用所有 和运算符,因此 xsl: if 元素的 test 属性可以使用,例如 和,或者,和函数调用 构建更复杂的布尔型 表情。
不完全是,AND 必须是小写的。
<xsl:when test="4 < 5 and 1 < 2"> <!-- do something --> </xsl:when>
它必须包装在 < xsl: select > 中,因为它是一个 when。
<xsl:choose> <xsl:when test="4 < 5 and 1 < 2" > <!-- do something --> </xsl:when> <xsl:otherwise> <!-- do something else --> </xsl:otherwise> </xsl:choose>
对于 xslt 专业人士来说,这可能是显而易见的,但对于初级/中级水平的我来说,这让我感到困惑。我想做完全相同的事情,但是我必须测试来自 xml 的 response time 值,而不是一个普通的数字。根据这个帖子,我试了这个:
<xsl:when test="responsetime/@value >= 5000 and responsetime/@value <= 8999">
它产生了一个错误。这个工作原理:
<xsl:when test="number(responsetime/@value) >= 5000 and number(responsetime/@value) <= 8999">
不过,我不太明白为什么没有 number ()它就不能工作。有没有可能没有 number ()这个值就被当作一个字符串来处理,你不能把数字和字符串进行比较?
不管怎样,希望这能帮助别人省去很多搜索..。