您的位置:首页 > 其它

xslt 1.0——4、XPath字符串函数

2011-06-22 17:02 309 查看
xslt 1.0——4、XPath字符串函数
2009-03-16 21:27

xml文档:004.xml

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="004.xsl"?>
<books>

<book>abcd12345</book>
<name>schema</name>
<sub>123</sub>

</books>

XSLT文档:004.xsl

<?xml version="1.0" ?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>

<xsl:template match="/books">

<xsl:value-of select="'book:'"/>
<xsl:value-of select="book"/>
<xsl:value-of select="' '"/>

<xsl:value-of select="'name:'"/>
<xsl:value-of select="name"/>
<xsl:value-of select="' '"/>

<xsl:value-of select="'sub:'"/>
<xsl:value-of select="sub"/>
<xsl:value-of select="' '"/>

<!--把实例代码插入此处-->

</xsl:template>
</xsl:stylesheet>

显示如下:

book:abcd12345 name:schema sub:123

1、连接字符串:concat(string1,string2,string3...)
例:
<xsl:value-of select="'concat(book,-,name):'"/>
<xsl:value-of select="concat(book,'-',name)"/>
<xsl:value-of select="' '"/>

输出显示如下:
concat(book,-,name):abcd12345-schema

2、判断包含关系:contains(string1,string2)
  注:判断第二个字符串是否是第一个字符串的一部分。
例:
<xsl:value-of select="'contains(book,name):'"/>
<xsl:value-of select="contains(book,name)"/>
<xsl:value-of select="' '"/>

输出显示如下:
contains(book,name):false

3、格式化空白符:normalize-space(string)
  注:将一个字符串的头部和尾部的空白字符删除,如果字符串中间含有连续多个空白字符,将用一个空格代替。

4、判断开头字符串:starts-with(string1,string2)
  注:判断第一个字符串是否以第二个字符串开头。
例:
<xsl:value-of select="'starts-with(book,sub):'"/>
<xsl:value-of select="starts-with(book,sub)"/>
<xsl:value-of select="' '"/>

<xsl:value-of select="'starts-with(book,abc):'"/>
<xsl:value-of select="starts-with(book,'abc')"/>
<xsl:value-of select="' '"/>

输出显示如下:
starts-with(book,sub):false
starts-with(book,abc):true

5、返回字符串长度:string-length(string)
  注:参数缺省,将返回上下文节点字符串长度。
例:
<xsl:value-of select="'string-length(book):'"/>
<xsl:value-of select="string-length(book)"/>
<xsl:value-of select="' '"/>

输出显示如下:
string-length(book):9

6、截取字符串:substring(string,number,length)
  注:string:指定要截取的字符串。
    number:指定开始位置。
    length:指定截取长度。
例:
<xsl:value-of select="'substring(book,1):'"/>
<xsl:value-of select="substring(book,1)"/>
<xsl:value-of select="' '"/>

<xsl:value-of select="'substring(book,5,9):'"/>
<xsl:value-of select="substring(book,5,9)"/>
<xsl:value-of select="' '"/>

输出显示如下:
substring(book,1):abcd12345
substring(book,5,9):12345

7、向前截取字符串:substring-before(string1,string2)
  注:返回第一个字符串中位于第二个字符串之前的部分。
例:
<xsl:value-of select="'substring-before(book,sub):'"/>
<xsl:value-of select="substring-before(book,sub)"/>
<xsl:value-of select="' '"/>

输出显示如下:
substring-before(book,sub):abcd

8、向后截取字符串:substring-after(string1,string2)
  注:返回第一个字符串中位于第二个字符串之后的部分。
例:
<xsl:value-of select="'substring-after(book,sub):'"/>
<xsl:value-of select="substring-after(book,sub)"/>
<xsl:value-of select="' '"/>

输出显示如下:
substring-after(book,sub):45

9、替换字符:translate(string,原字符,替换字符)
  注:在字符串中,依次查找原字符,如果找到,用替换字符进行替换。
例:
<xsl:value-of select="'translate(book,sub,name):'"/>
<xsl:value-of select="translate(book,sub,name)"/>
<xsl:value-of select="' '"/>

<xsl:value-of select="'translate(book,sub):'"/>
<xsl:value-of select="translate(book,sub,'')"/>
<xsl:value-of select="' '"/>

输出显示如下:
translate(book,sub,name):abcdsch45
translate(book,sub):abcd45
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息