报告在预定义的 XPath 类型 STRING
、NUMBER
、BOOLEAN
和 NODESET
之间进行隐式转换。 有助于编写类型表现更明确的XSLT脚本,且避免难以捉摸的错误。
示例:
<xsl:if test="foo" />
与 <xsl:if test="string(foo)" />
不一样
第一个测试检查元素 “ foo” 是否存在(count(foo) > 0)
,而第二个测试仅当元素包含文本时 (string-length(foo) > 0
),才会为 “true”。 建议使
类型转换更加明确。
使用以下控制来自定义检查:
<xsl:if test="number(foo)" />
string()
函数作为编写 string-length() > 0
的快捷方式而造成的从 NODESET
到 BOOLEAN
的转换。