Xml 验证元素是否存在并且在xsl中是否具有特定值
如何检查标记是否存在以及值是否为“On”在xsl中执行某些操作 请纠正我Xml 验证元素是否存在并且在xsl中是否具有特定值,xml,xslt,xpath,Xml,Xslt,Xpath,如何检查标记是否存在以及值是否为“On”在xsl中执行某些操作 请纠正我 <xsl:if test="$status and $status='On'"> //do something </xsl:if> //做点什么 我们可以跳过检查标记是否存在,直接检查值吗 <xsl:if test="$status='On'"> //do something </xsl:if> //做点什么 这是一种正确的做法。您应该
<xsl:if test="$status and $status='On'">
//do something
</xsl:if>
//做点什么
我们可以跳过检查标记是否存在,直接检查值吗
<xsl:if test="$status='On'">
//do something
</xsl:if>
//做点什么
这是一种正确的做法。您应该使用xpath表达式
<xsl:if test="/path/node = 'On'">
</xsl:if>
或者$status是xsl参数吗?
上述内容是多余的,因为如果$status='On'
则$status
的布尔值为真
因此,上述xslt指令的@test属性中包含的表达式只相当于:$status='On'
,它更短
这完全回答了问题
在我看来,您似乎想测试是否定义了
$status
,然后测试其值。这是不正确的——如果引用了未定义的xsl:变量,则会导致W3 XSLT规范中的错误。然后//执行某些操作是正确的。不需要使用“$status”检查“status”是否存在,这是不需要的。xsltGood问题(+1)中不会出现任何空的异常或其他内容。有关完整的解释,请参见我的答案。:)@flash:您的问题“检查标记是否存在且值是否为‘开’”,也可能意味着$status
是要检查的元素的名称,而不是实际的字符串值。如果是这种情况,请使用
。