Answers:
它确实必须包装在<xsl:choose>中,因为它是一个时间。和小写的“和”。
<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而不是纯数字测试响应时间值。在此线程之后,我尝试了此操作:
<xsl:when test="responsetime/@value >= 5000 and responsetime/@value <= 8999">
这产生了一个错误。这有效:
<xsl:when test="number(responsetime/@value) >= 5000 and number(responsetime/@value) <= 8999">
但是,真的不明白为什么没有number()不能正常工作。可能是因为没有number()值被视为字符串,并且您无法将数字与字符串进行比较?
无论如何,希望这可以节省很多人的搜索时间...