如何检查标签是否存在且值为“On”在xsl
中执行某些操作请纠正我。
<xsl:if test="$status and $status='On'">
//do something
</xsl:if>
我们可以跳过检查标签是否存在并且直接检查该值。
<xsl:if test="$status='On'">
//do something
</xsl:if>
这是一种正确的做法。
答案 0 :(得分:3)
<xsl:if test="$status and $status='On'">
以上是多余的,因为如果$status='On'
那么$status
的布尔值为真。
因此,上述xslt指令的@test属性中包含的表达式仅相当于:$status='On'
,它更短。
这完全回答了问题。
在我看来,您想测试$status
是否已定义,然后测试其值。这是不正确的 - 如果引用未定义的xsl:变量,则会根据W3 XSLT规范导致错误。
答案 1 :(得分:2)
你应该使用xpath表达式
<xsl:if test="/path/node = 'On'">
</xsl:if>
或者是$ status是xsl param?