`
maxiow
  • 浏览: 13255 次
文章分类
社区版块
存档分类
最新评论

完美的xslt数值函数与字符串函数【转】

阅读更多
完美的xslt数值函数与字符串函数      
任何的编程语言或者是SQL语句都有内置的函数或方法,而强大灵活的xslt技术也是如此。熟练掌握XSLT的常用函数的用法,XSLT的应用将变得如此轻松,你会发现XSLT比想象中还要牛!以下是xslt数值的函数与xslt字符串函数的说明与参考示例。
1、xslt数值的函数:
(1)fn:number(arg)   返回参数的数值。参数可以是布尔值、字符串或节点集。
     示例:
<xsl:value-of select="number('100')"/>
  返回 100
(2)fn:abs(num) 返回参数的绝对值。
     示例:
<xsl:value-of select="number(-3.14)"/>
  返回 3.14
(3)fn:ceiling(num) 返回大于 num 参数的最小整数。(注:这里有些文章是写错了的,将大于写成了小于)
     示例:
<xsl:value-of select="ceiling(3.14)"/>
  返回 4
(4)fn:floor(num) 返回小于等于 num 参数的最大整数。
     示例:
<xsl:value-of select="floor(3.14)"/> 
返回 3
(5)fn:round(num) 把 num 参数舍入为最接近的整数。
     示例:
<xsl:value-of select="round(3.14)"/> 
返回 3
(6)round-half-to-even(num)
     示例:
<xsl:value-of select="round-half-to-even(0.5)"/>
  返回 0
     示例:
<xsl:value-of select="round-half-to-even(1.5)"/>
  返回 2
     示例:
<xsl:value-of select="round-half-to-even(2.5)"/>
  返回 2

2、xslt字符串函数
(1)fn:string(arg) 返回参数的字符串值。参数可以是数字、逻辑值或节点集。
     示例:
<xsl:value-of select="string(314)"/>
  返回 "314"
(2)fn:codepoints-to-string(int,int,...) 根据代码点序列返回字符串。
     示例:
<xsl:value-of select="codepoints-to-string(84, 104, 233, 114, 232, 115, 101)"/>
  返回 84, 104, 233, 114, 232, 115, 101

(3)fn:string-to-codepoints(string) 根据字符串返回代码点序列。
     示例:
<xsl:value-of select="string-to-codepoints("Thérèse")"/>
  返回 'Thérèse'
(4)fn:codepoint-equal(comp1,comp2) 根据 Unicode 代码点对照,如果 comp1 的值等于 comp2 的值,则返回 true。(http://www.w3.org/2005/02/xpath-functions/collation/codepoint),否则返回 false。
     示例:
<xsl:value-of select="compare('ghi', 'ghi')"/> 
返回 true
     fn:compare(comp1,comp2)
     fn:compare(comp1,comp2,collation)  如果 comp1 小于 comp2,则返回 -1。如果 comp1 等于 comp2,则返回 0。如果 comp1 大于 comp2,则返回 1。(根据所用的对照规则)。
     示例:
<xsl:value-of select="compare('ghi', 'ghi')"/>
  返回 0
(5)fn:concat(string,string,...) 返回字符串的拼接。
     示例:
<xsl:value-of select="concat('XPath ','is ','FUN!')"/>
  返回 'XPath is FUN!'

(6)fn:string-join((string,string,...),sep) 使用 sep 参数作为分隔符,来返回 string 参数拼接后的字符串。
     示例:
<xsl:value-of select="string-join(('Www.', 'mobansheji', '.', 'com'), ' ')"/>
  返回 'www.mobansheji.com'
(7)fn:substring(string,start,len)
     fn:substring(string,start) 返回从start位置开始的指定长度的子字符串。第一个字符的下标是 1。如果省略 len 参数,则返回从位置 start 到字符串末尾的子字符串。
     示例:
<xsl:value-of select="substring('www.mobansheji.com',1,4)"/>
  返回 'www.'
          
<xsl:value-of select="substring('www.mobansheji.com',4)"/>
  返回 'mobansheji.com'
(8)fn:string-length(string) fn:string-length() 返回指定字符串的长度。如果没有 string 参数,则返回当前节点的字符串值的长度。
     示例:
<xsl:value-of select="string-length ('www.mobansheji.com')"/> 
返回 18
(9)fn:normalize-space(string) fn:normalize-space() 删除指定字符串的开头和结尾的空白,并把内部的所有空白序列替换为一个,然后返回结果。如果没有 string 参数,则处理当前节点。。
     示例:
<xsl:value-of select="normalize-space(' www.    mobansheji .  com  ')"/>
  返回 'www.mobansheji.com'
(10)fn:upper-case(string) 把 string 参数转换为大写。
     示例:
<xsl:value-of select="upper-case('The Xpath')"/>
  返回 'THE XPATH'

(11)fn:lower-case(string) 把 string 参数转换为小写。
     示例:
<xsl:value-of select="lower-case('The XML')"/>
  返回 'the xml'

(12)fn:translate(string1,string2,string3) 把 string1 中的 string2 替换为 string3。
     示例:<
xsl:value-of select="translate('Do you know xml and xpath?','xml','xslt')"/>
  返回 'Do you know xslt and xpath?'
     示例:
<xsl:value-of select="translate('12:30','03','54')"/>
  返回 '12:45'

(13)fn:escape-uri(stringURI,esc-res)
     示例:
<xsl:value-of select="escape-uri("http://example.com/test#car", true())"/>
  返回 "http%3A%2F%2Fexample.com%2Ftest#car"
     示例:
<xsl:value-of select="escape-uri("http://example.com/test#car", false())"/>
  返回 "http://example.com/test#car"

(14)fn:contains(string1,string2) 如果 string1 包含 string2,则返回 true,否则返回 false。
     示例:
<xsl:value-of select="contains('XML','XM')"/>
  返回 true

(15)fn:starts-with(string1,string2) 如果 string1 以 string2 开始,则返回 true,否则返回 false。
     示例:
<xsl:value-of select="starts-with('XML','X')"/>
  返回 true

(16)fn:ends-with(string1,string2) 如果 string1 以 string2 结尾,则返回 true,否则返回 false。
     示例:
<xsl:value-of select="ends-with('XML','X')"/>
  返回 false

(17)fn:substring-before(string1,string2) 返回 string2 在 string1 中出现之前的子字符串。
     示例:
<xsl:value-of select="substring-before('www.mobansheji.com','.')"/>
  返回 'www'

(18)fn:substring-after(string1,string2) 返回 string2 在 string1 中出现之后的子字符串。
     示例:
<xsl:value-of select="substring-before('www.mobansheji.com','.')"/>
  返回 'mobansheji.com'

(19)fn:matches(string,pattern) 如果 string 参数匹配指定的模式,则返回 true,否则返回 false。
     示例:
<xsl:value-of select="matches("Merano", "ran")"/>
  返回 true

(20)fn:replace(string,pattern,replace) 把指定的模式替换为 replace 参数,并返回结果。
     示例:
<xsl:value-of select="replace("The password is admin888", "8", "*")"/>
  返回 'The password is admin***'

(21)fn:tokenize(string,pattern)
     示例:
<xsl:value-of select="tokenize("XPath is fun", "\s+")"/>
  返回 ("XPath", "is", "fun")

通过以上xslt数值的函数与xslt字符串函数,我想各位朋友都已经知道了如何用xslt来处理各种数值和字符串了。在实际的应用中可能比示例代码要复杂得多,只有熟练掌握才能应用自如! 希望多重复的看几遍!
大小写转换:
<xsl:variable name="upper_zm">ABCDEFGHIJKLMNOPQRSTUVWXYZ.</xsl:variable>
<xsl:variable name="lower_zm">abcdefghijklmnopqrstuvwxyz_</xsl:variable>
<xsl:variable name="code"><xsl:value-of select="ds/@code"/></xsl:variable>
<xsl:value-of select="translate($code,$lower_zm,$upper_zm)"/>

空格:
<xsl:text disable-output-escaping="yes">&amp;nbsp;&amp;nbsp;</xsl:text>

或者
&#160;&#160;

分享到:
评论

相关推荐

    完美的xslt数值函数与字符串函数.pdf

    根据文件【标题】和【描述】内容,《完美的xslt数值函数与字符串函数.pdf》主要介绍了XSLT(Extensible Stylesheet Language Transformations)中的数值函数和字符串函数。这些函数在XML文档转换成其他格式时起着...

    xslt与xpath入门转换xml文档与数据

    5. **函数(Functions)**:XPath提供了一系列内置函数,如字符串处理、数值计算、节点集操作等。例如,`concat()`函数用于连接字符串,`count()`函数计算节点集合的大小。 6. **节点类型(Node Types)**:XPath...

    xpath 函数查询.chm

    2. 字符串函数:如`string()`用于返回节点的字符串值,`concat()`用于连接多个字符串,`normalize-space()`用于去除字符串前后的空白并合并连续的空白。 3. 位置函数:`position()`返回当前节点在上下文中的位置,`...

    XSLT经典教程.doc

    例如,可以使用字符串函数进行拼接、分割,数值函数进行算术运算,日期时间函数进行日期比较等。 在实际应用中,XSLT转换可以在客户端或服务器端进行。客户端转换通常涉及浏览器支持,用户可以直接在浏览器中查看...

    xslt手册

    3. XSLT函数库:XSLT提供了丰富的内置函数,用于字符串操作、数值计算、日期时间处理、节点集合操作等。例如,`fn:concat()`用于连接字符串,`fn:substring()`截取字符串,`fn:number()`转换值为数字,`fn:current-...

    xslt转化HTML标签与数据结合

    3. **数据转换**:XSLT提供了丰富的函数库,可以对XML数据进行各种操作,如字符串处理、数值计算、日期时间转换等。 4. **条件语句和循环**:XSLT支持`&lt;if&gt;`、`&lt;choose&gt;`、`&lt;when&gt;`和`&lt;otherwise&gt;`来实现条件逻辑,...

    XSLT使用的例子

    3. **函数(Functions)**:XSLT提供了一系列内置函数,如`string()`、`number()`和`date()`等,用于处理字符串、数字和日期等数据。此外,XSLT 2.0及以上版本还支持自定义函数。 在“XsltExample”中,我们可能...

    XSLT Cookbook

    对于不支持正则表达式的XSLT版本,可以通过字符串操作函数来模拟正则表达式的功能。 **1.11 使用EXSLT字符串扩展** EXSLT提供了额外的字符串处理函数,例如`exsl:node-set()`可以将字符串转换为节点集。 #### 二...

    Beginning XSLT and Xpath

    3. **函数和操作符(Functions and Operators)**:提供了数值比较、字符串操作等功能。 4. **变量引用(Variable References)**:可以引用预定义的变量。 5. **布尔表达式(Boolean Expressions)**:支持逻辑运算...

    xslt.rar_xml xslt_xslt

    5. **函数(Function)**:XSLT提供了丰富的内置函数,用于字符串处理、数值计算、节点集操作等。用户还可以通过导入XSLT扩展库来使用自定义函数。 在实际应用中,XSLT常常用于将XML数据转换为HTML,以便在Web...

    XSLT的标准语言参考手册

    ### 3.1 字符串函数 如`string-length()`计算字符串长度,`concat()`连接字符串,`substring()`提取子字符串等。 ### 3.2 数值函数 包括`number()`转换值为数字,`sum()`计算节点集的总和,`format-number()`格式化...

    xpath语法与函数

    - 字符串函数:`substring()`、`string-length()`、`normalize-space()`。 - 数值函数:`sum()`、`count()`、`floor()`、`ceiling()`。 - 日期时间函数:`current-dateTime()`、`format-dateTime()`。 - 节点处理...

    xslt经典教程—网页设计师必备

    XSLT内建了一个丰富的函数库,涵盖了字符串操作、数值计算、节点遍历等多种功能。例如,`substring()`函数用于提取字符串的一部分,`number()`函数用于将非数字文本转换为数字,`count()`函数则用于计算节点集的大小...

    XSLT标准参考手册

    4. **函数库(Function Library)**:XSLT内置了一套丰富的函数库,允许在转换过程中执行字符串操作、数值计算、日期时间处理等任务。 5. **变量和参数(Variables and Parameters)**:变量存储值,可以在模板之间...

    XSLT从入门到精通(上)

    此外,函数库的使用也是XSLT中的一个重要部分,它包含了一系列内置函数,可用于字符串操作、数值计算、日期和时间处理等。 在处理XML文档时,有时我们需要对数据进行一定的计算和转换。XSLT提供了内置的转换功能,...

    XPath and XSLT

    XPath还提供了函数库,可以进行数值比较、字符串操作和逻辑判断,使得在XML数据处理中更灵活。 XSLT,全称eXtensible Stylesheet Language Transformations,是一种转换XML文档的语言。XSLT用于将XML源文档转换成...

    用 xsl 中的各种函数为 XML 显示提供灵活性

    1. **字符串处理函数**: - `string()`:将值转化为字符串。 - `concat()`:连接多个字符串。 - `substring()`:提取字符串的一部分。 - `normalize-space()`:去除字符串前后的空白并合并连续空格。 - `...

Global site tag (gtag.js) - Google Analytics