xslt中设置引用变量,获取节点长度,截取字符串

获取某个节点的长度

有时需要在XSLT中判断某个节点的值的长度.以前我是这样处理:

<xsl:variable name="sChorus" select="chorus"/>
<xsl:variable name="len" select="string-length($sChorus)"/>

但后来我就发现了问题.如果节点间有回车等字符,就会被认为值>1.所以后来又用了一个函数去掉字符串中的空白.如下所示:

<xsl:variable name="sChorus" select="chorus"/>
<xsl:variable name="len" select="string-length(normalize-space($sChorus))"/>

截取字符串

函数定义:

string substring(string, number, number?)

返回第一个参数中从第二个参数指定的位置开始、第三个参数指定的长度的子字符串。长度下标从1开始,不像java里下标从0开始即从哪个下标开始截取几个字符.

该字符串中的每个字符都被认为具有数字位置:第一个字符的位置是 1,第二个字符的位置是 2,依此类推。

如果未指定第三个参数,将返回从第二个参数指定的位置开始直到字符串结尾的子字符串。

如果参数不是字符串类型,将先使用 string() 函数转换为字符串,然后计算该转换的结果。

此函数区分大小写。

demo
在这里插入图片描述
demo2

*是转义字符*
xslt的转义字符列表可以参考这位大佬的博客
https://www.cnblogs.com/cb168/articles/5142575.html
在这里插入图片描述
xslt中设置引用变量,获取节点长度,截取字符串_第1张图片

你可能感兴趣的:(xslt,work)