1. String Functions:
- string-length(): 返回字符串的长度。
- concat(string1, string2, ...): 连接多个字符串。
- substring(string, start, length): 返回字符串的子串。
- substring-before(string, delimiter): 返回字符串中第一个出现的分隔符之前的部分。
- substring-after(string, delimiter): 返回字符串中第一个出现的分隔符之后的部分。
2. Number Functions:
- sum(node-set): 返回节点集合中所有数值节点的总和。
- floor(number): 返回不大于给定数字的最大整数。
- ceiling(number): 返回不小于给定数字的最小整数。
- round(number): 返回最接近给定数字的整数。
3. Boolean Functions:
- not(expression): 返回与表达式相反的布尔值。
- boolean(expression): 将表达式转换为布尔值。
- true(): 返回布尔值true。
- false(): 返回布尔值false。
4. Node Set Functions:
- last(): 返回当前上下文节点集合的最后一个节点的位置。
- position(): 返回当前上下文节点在当前节点集合中的位置。
5. Date and Time Functions:
- current-date(): 返回当前日期。
- current-time(): 返回当前时间。
- current-dateTime(): 返回当前日期和时间。
6. Custom Functions:
- XSLT 2.0和之后的版本支持用户自定义函数。通过 <xsl:function> 元素,可以定义自己的XSLT函数。
以下是一个简单的示例,演示如何使用XSLT函数:
<!-- 输入 XML -->
<data>
<value>42</value>
</data>
<!-- XSLT 转换 -->
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<!-- 使用函数计算平方 -->
<xsl:template match="/">
<result>
The square of <xsl:value-of select="data/value" /> is <xsl:value-of select="my:calculateSquare(data/value)" />.
</result>
</xsl:template>
<!-- 定义自定义函数 -->
<xsl:function name="my:calculateSquare">
<xsl:param name="number" />
<xsl:sequence select="$number * $number" />
</xsl:function>
</xsl:stylesheet>
在此示例中,我们定义了一个名为 my:calculateSquare 的自定义函数,用于计算输入数字的平方。在主模板中,我们调用这个函数并显示结果。
请注意,XSLT版本的支持可能会影响可用的函数,而上述示例是基于XSLT 1.0的语法。
转载请注明出处:http://www.pingtaimeng.com/article/detail/12245/XML