XSLT 1.0中,字符串长度功能
问题描述:
我看到这个网站 http://www.xsltfunctions.com/xsl/fn_string-length.html 的字符串长度我认为这是XSLT 2.0语法。XSLT 1.0中,字符串长度功能
尽管在XSLT 1.0,我想这:
<xsl:template match="/">
<xsl:value-of select="string-length(())" />
</xsl:template>
,我得到了一个错误。有没有我可以用来转换()并将其传递给字符串长度的任何函数,以便我可以得到0?
答
XPath 1.0 string-length()
只接受一个字符串参数。任何不是字符串的东西都会被转换为一个字符串。一组空括号不能被转换,并且在1.0中没有序列。要获得0
,可以喂空字符串:
<xsl:template match="/">
<xsl:value-of select="string-length('')" />
</xsl:template>
得到一些有意义的事情,你可以养活一个节点集,例如:
<xsl:template match="/">
<xsl:value-of select="string-length(some/xpath)" />
</xsl:template>
在节点集中的第一个节点将被转换为一个字符串并传递给该函数。
+1
如果你想在'string-length()'中得到节点的内容而不是节点本身,xpath可以包含'text()'函数。 – 2016-07-25 20:33:36
答
更多信息:如果您没有将任何参数传递给string-length(),它将评估当前上下文节点。
请注意,作为参数传递的xpath相对于xpath表达式中的当前上下文
您为什么需要这样做? – 2009-09-29 17:59:36