任何的编程语言或者是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)"/> 返回 'Thérèse'

(3)fn:string-to-codepoints(string) 根据字符串返回代码点序列。
     示例:<xsl:value-of select="string-to-codepoints("Thérèse")"/> 返回 84, 104, 233, 114, 232, 115, 101

(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="substring('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来处理各种数值和字符串了。在实际的应用中可能比示例代码要复杂得多,只有熟练掌握才能应用自如! 希望多重复的看几遍!

XSLT映射文件函数的更多相关文章

  1. 06 返回静态文件的映射(函数/多线程)web框架

    06 返回静态文件的映射(函数/多线程)web框架 服务器server端python程序(函数版): import socket server = socket.socket() server.bin ...

  2. MyBatis学习(二)、SQL语句映射文件(2)增删改查、参数、缓存

    二.SQL语句映射文件(2)增删改查.参数.缓存 2.2 select 一个select 元素非常简单.例如: <!-- 查询学生,根据id --> <select id=" ...

  3. Hibernate 配置文件与映射文件 总结

    hibernate是一个彻底的ORM(Object Relational Mapping,对象关系映射)开源框架. 一.Hibernate配置文件详解 Hibernate配置文件有两种形式:XML与p ...

  4. 二、SQL语句映射文件(2)增删改查、参数、缓存

    //备注:该博客引自:http://limingnihao.iteye.com/blog/106076 2.2 select 一个select 元素非常简单.例如: Xml代码 收藏代码 <!- ...

  5. 第17章 内存映射文件(3)_稀疏文件(Sparse File)

    17.8 稀疏调拨的内存映射文件 17.8.1 稀疏文件简介 (1)稀疏文件(Sparse File):指的是文件中出现大量的0数据,这些数据对我们用处不大,但是却一样的占用空间.NTFS文件系统对此 ...

  6. Ibatis学习总结3--SQL Map XML 映射文件

    在前面的例子中,只使用了 SQL Map 最简单的形式.SQL Map 的结构中还有其他更多 的选项.这里是一个 mapped statement 较复杂的例子,使用了更多的特性. <sqlMa ...

  7. MyBatis学习 之 二、SQL语句映射文件(2)增删改查、参数、缓存

    目录(?)[-] 二SQL语句映射文件2增删改查参数缓存 select insert updatedelete sql parameters 基本类型参数 Java实体类型参数 Map参数 多参数的实 ...

  8. 内存映射文件详解-----C++实现

    先不说内存映射文件是什么.贴个代码先,. #include <iostream> #include <fcntl.h> #include <io.h> #inclu ...

  9. MyGeneration模板生成NHibernate映射文件和关系(one-to-one,one-to-many,many-to-many)

    MyGeneration的几个NHibernate模板功能已经很强,但还是存在些问题.例如:Guid主键支持不佳,代码不易修改,不支持中文注释等等.所以我决定自己来改写此模版.我把一部分通用的函数提取 ...

随机推荐

  1. 工作学习1-tcp自连接

    运维同事反馈服务起不来.下面为了方便,写了一个demo来展示. https://gitee.com/northeast_coder/code/tree/master/case/case1_tcp_se ...

  2. 学习java 7.15

    学习内容: 进程:正在运行的程序 是系统进行资源分配和调用的独立单位 每个进程都有它自己的内存空间和系统资源 线程:是进程中的单个顺序控制流,是一条执行路径 单线程:一个进程如果只有一条执行路径,则称 ...

  3. A Child's History of England.37

    Many other noblemen repeating and supporting this when it was once uttered, Stephen and young Planta ...

  4. day08 外键字段的增删查改

    day08 外键字段的增删查改 今日内容概要 外键字段的增删查改 正反向查询的概念 基于对象的跨表查询(子查询) 基于双下划线的跨表查询(连表操作) 聚合查询与分组查询 F查询和Q查询 前提准备 cl ...

  5. 零基础学习java------day7------面向对象

    1. 面向对象 1.1 概述 面向过程:c语言 面向对象:java :python:C++等等 面向对象的概念: (万物皆对象)------think in java   everything  in ...

  6. spring boot项目创建与使用

    概述 spring boot通常使用maven创建,重点在于pom.xml配置,有了pom.xml配置,可以先创建一个空的maven项目,然后从maven下载相关jar包. spring boot d ...

  7. JDBC(1):JDBC介绍

    一,JDBC介绍 SUN公司为了简化.统一对数据库的操作,定义了一套Java操作数据库的规范(接口),称之为JDBC.这套接口由数据库厂商去实现,这样,开发人员只需要学习jdbc接口,并通过jdbc加 ...

  8. 移动端(App)项目进行满屏高度的设置

    做移动端App的时候 高度一般会根据页面的元素进行自动设置,不会铺满整个屏幕.通过以下代码实现满屏高度. #app{ width: 100%; height: 100%; position: abso ...

  9. 【Java基础】Java中new对象的过程

    序言 联系我上次写的关于Java内存的文章,对象访问在 Java 语言中无处不在,是最普通的程序行为,但即使是最简单的访问,也会却涉及 Java 栈.Java 堆.方法区这三个最重要内存区域之间的关联 ...

  10. SpringBoot 项目不加载 application.properties 配置文件

    起因:新安装的idea第一次运行springboot项目报url错误(Failed to configure a DataSource: 'url' attribute is not specifie ...