XSLT 函数学习笔记

本文将讲解XSLT中的函数及其用法。在XSLT中,函数是一种用于处理XML和创建输出的重要工具,可以简化代码、提高效率。

常用函数

XSLT中有很多内置函数,下面列出了一些常用的函数及其用法。

string()函数

string()函数用于将节点转换为字符串类型。例如:

Copy Code
<xsl:value-of select="string(//book/title)"/>

上述代码将选择book元素下的title元素并将其转换为字符串类型以输出。

number()函数

number()函数用于将节点转换为数字类型。例如:

Copy Code
<xsl:value-of select="number(//book/price)"/>

上述代码将选择book元素下的price元素并将其转换为数字类型以输出。

concat()函数

concat()函数用于连接两个或多个字符串。例如:

Copy Code
<xsl:value-of select="concat('Hello ', 'world!')"/>

上述代码将输出Hello world!

substring()函数

substring()函数用于截取字符串中指定位置的子字符串。例如:

Copy Code
<xsl:value-of select="substring('Hello world', 1, 5)"/>

上述代码将输出Hello

contains()函数

contains()函数用于判断一个字符串是否包含另一个字符串。例如:

Copy Code
<xsl:if test="contains('Hello world', 'world')"> <xsl:text>包含</xsl:text> </xsl:if>

上述代码将输出包含

translate()函数

translate()函数用于替换字符串中的字符。例如:

Copy Code
<xsl:value-of select="translate('hello', 'o', 'a')"/>

上述代码将输出hella,其中o被替换为a

实例

下面是一个使用XSLT函数的示例:

Copy Code
<books> <book> <title>XML入门指南</title> <price>39.9</price> </book> <book> <title>XSLT入门指南</title> <price>49.9</price> </book> </books> <xsl:for-each select="books/book"> <xsl:text>Title: </xsl:text> <xsl:value-of select="title"/> <xsl:text>, Price: $</xsl:text> <xsl:value-of select="number(price)"/> <xsl:text>&#10;</xsl:text> </xsl:for-each>

上述代码将选择books元素下的book元素并使用循环将其标题及价格输出。其中使用了number()函数将价格转换为数字类型以便于计算。