xml – 如何创建一个布尔值?
我对XSLT完全陌生,无法解决我在下面的代码错误。
<xsl:variable name="var" select="boolean('false')"/> <xsl:if test="$var'">variable is true</xsl:if> 它总是返回true,当它是假的。为什么?
$ var变量的值定义如下:
< xsl:variable name =“var”select =“boolean('false')”/> 是 真正() 这是因为在XPath中“false”是一个普通的字符串,而不是false(),这是布尔值的构造函数false() XPath中的两个布尔值(注意它们是构造的!): true()和false() 将任何值转换为布尔值的细节在XPath Spec中拼写出来: “boolean函数将其参数转换为布尔值,如下所示: >一个数字是真的,如果且仅当它 在你的情况下,字符串“false”不是数字0,并且具有正长度,因此应用上面第三个项目中的规则,得到true()。 因此,要在XSLT 1.0中定义一个变量,其值为 < xsl:variable name =“vMyVar”select =“false()”/> 或者,如果你不记得这一点,你可以总是写: < xsl:variable name =“vMyVar”select =“1 = 0”/> (指定评估为false()的任何表达式),XSLT处理器将为您完成工作。 在XSLT 2.0中,最好明确指定变量的类型: < xsl:variable name =“vMyVar”as =“xs:boolean”select =“false()”/> (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |