XPath函数大全.docx

上传人:b****4 文档编号:5526163 上传时间:2022-12-18 格式:DOCX 页数:16 大小:19.10KB
下载 相关 举报
XPath函数大全.docx_第1页
第1页 / 共16页
XPath函数大全.docx_第2页
第2页 / 共16页
XPath函数大全.docx_第3页
第3页 / 共16页
XPath函数大全.docx_第4页
第4页 / 共16页
XPath函数大全.docx_第5页
第5页 / 共16页
点击查看更多>>
下载资源
资源描述

XPath函数大全.docx

《XPath函数大全.docx》由会员分享,可在线阅读,更多相关《XPath函数大全.docx(16页珍藏版)》请在冰豆网上搜索。

XPath函数大全.docx

XPath函数大全

XPath函数

存取函数

名称

说明

fn:

node-name(node)

返回参数节点的节点名称。

fn:

nilled(node)

返回是否拒绝参数节点的布尔值。

fn:

data(item.item,...)

接受项目序列,并返回原子值序列。

∙fn:

base-uri()

∙fn:

base-uri(node)

返回当前节点或指定节点的base-uri属性的值。

fn:

document-uri(node)

返回指定节点的document-uri属性的值。

错误和跟踪函数

名称

说明

∙fn:

error()

∙fn:

error(error)

∙fn:

error(error,description)

∙fn:

error(error,description,error-object)

例子:

error(fn:

QName(''err:

toohigh'),'Error:

Priceistoohigh')

结果:

向外部处理环境返回以及字符串"Error:

Priceistoohigh"。

fn:

trace(value,label)

用于对查询进行debug。

有关数值的函数

名称

说明

fn:

number(arg)

返回参数的数值。

参数可以是布尔值、字符串或节点集。

例子:

number('100')

结果:

100

fn:

abs(num)

返回参数的绝对值。

例子:

abs(3.14)

结果:

3.14

例子:

abs(-3.14)

结果:

3.14

fn:

ceiling(num)

返回大于num参数的最小整数。

例子:

ceiling(3.14)

结果:

4

fn:

floor(num)

返回不大于num参数的最大整数。

例子:

floor(3.14)

结果:

3

fn:

round(num)

把num参数舍入为最接近的整数。

例子:

round(3.14)

结果:

3

fn:

round-half-to-even()

例子:

round-half-to-even(0.5)

结果:

0

例子:

round-half-to-even(1.5)

结果:

2

例子:

round-half-to-even(2.5)

结果:

2

有关字符串的函数

名称

说明

fn:

string(arg)

返回参数的字符串值。

参数可以是数字、逻辑值或节点集。

例子:

string(314)

结果:

"314"

fn:

codepoints-to-string(int,int,...)

根据代码点序列返回字符串。

例子:

codepoints-to-string(84,104,233,114,232,115,101)

结果:

'Thérèse'

fn:

string-to-codepoints(string)

根据字符串返回代码点序列。

例子:

string-to-codepoints("Thérèse")

结果:

84,104,233,114,232,115,101

fn:

codepoint-equal(comp1,comp2)

根据Unicode代码点对照,如果comp1的值等于comp2的值,则返回true。

(http:

//www.w3.org/2005/02/xpath-functions/collation/codepoint),否则返回false。

∙fn:

compare(comp1,comp2)

∙fn:

compare(comp1,comp2,collation)

如果comp1小于comp2,则返回-1。

如果comp1等于comp2,则返回0。

如果comp1大于comp2,则返回1。

(根据所用的对照规则)。

例子:

compare('ghi','ghi')

结果:

0

fn:

concat(string,string,...)

返回字符串的拼接。

例子:

concat('XPath','is','FUN!

')

结果:

'XPathisFUN!

'

fn:

string-join((string,string,...),sep)

使用sep参数作为分隔符,来返回string参数拼接后的字符串。

例子:

string-join(('We','are','having','fun!

'),'')

结果:

'Wearehavingfun!

'

例子:

string-join(('We','are','having','fun!

'))

结果:

'Wearehavingfun!

'

例子:

string-join((),'sep')

结果:

''

∙fn:

substring(string,start,len)

∙fn:

substring(string,start)

返回从start位置开始的指定长度的子字符串。

第一个字符的下标是1。

如果省略len参数,则返回从位置start到字符串末尾的子字符串。

例子:

substring('Beatles',1,4)

结果:

'Beat'

例子:

substring('Beatles',2)

结果:

'eatles'

∙fn:

string-length(string)

∙fn:

string-length()

返回指定字符串的长度。

如果没有string参数,则返回当前节点的字符串值的长度。

例子:

string-length('Beatles')

结果:

7

∙fn:

normalize-space(string)

∙fn:

normalize-space()

删除指定字符串的开头和结尾的空白,并把内部的所有空白序列替换为一个,然后返回结果。

如果没有string参数,则处理当前节点。

例子:

normalize-space('TheXML')

结果:

'TheXML'

fn:

normalize-unicode()

执行Unicode规格化。

fn:

upper-case(string)

把string参数转换为大写。

例子:

upper-case('TheXML')

结果:

'THEXML'

fn:

lower-case(string)

把string参数转换为小写。

例子:

lower-case('TheXML')

结果:

'thexml'

fn:

translate(string1,string2,string3)

把string1中的string2替换为string3。

例子:

translate('12:

30','30','45')

结果:

'12:

45'

例子:

translate('12:

30','03','54')

结果:

'12:

45'

例子:

translate('12:

30','0123','abcd')

结果:

'bc:

da'

fn:

escape-uri(stringURI,esc-res)

例子:

escape-uri("true())

结果:

"http%3A%2F%2F%2Ftest#car"

例子:

escape-uri("false())

结果:

"

例子:

escape-uri("false())

结果:

"

fn:

contains(string1,string2)

如果string1包含string2,则返回true,否则返回false。

例子:

contains('XML','XM')

结果:

true

fn:

starts-with(string1,string2)

如果string1以string2开始,则返回true,否则返回false。

例子:

starts-with('XML','X')

结果:

true

fn:

ends-with(string1,string2)

如果string1以string2结尾,则返回true,否则返回false。

例子:

ends-with('XML','X')

结果:

false

fn:

substring-before(string1,string2)

返回string2在string1中出现之前的子字符串。

例子:

substring-before('12/10','/')

结果:

'12'

fn:

substring-after(string1,string2)

返回string2在string1中出现之后的子字符串。

例子:

substring-after('12/10','/')

结果:

'10'

fn:

matches(string,pattern)

如果string参数匹配指定的模式,则返回true,否则返回false。

例子:

matches("Merano","ran")

结果:

true

fn:

replace(string,pattern,replace)

把指定的模式替换为replace参数,并返回结果。

例子:

replace("BellaItalia","l","*")

结果:

'Be**aIta*ia'

例子:

replace("BellaItalia","l","")

结果:

'BeaItaia'

fn:

tokenize(string,pattern)

例子:

tokenize("XPathisfun","\s+")

结果:

("XPath","is","fun")

针对anyURI的函数

名称

说明

fn:

resolve-uri(relative,base)

关于布尔值的函数

名称

说明

fn:

boolean(arg)

返回数字、字符串或节点集的布尔值。

fn:

not(arg)

首先通过boolean()函数把参数还原为一个布尔值。

如果该布尔值为false,则返回true,否则返回true。

例子:

not(true())

结果:

false

fn:

true()

返回布尔值true。

例子:

true()

结果:

true

fn:

false()

返回布尔值false。

例子:

false()

结果:

false

有关持续时间、日期和时间的函数

日期、时间、持续时间的组件提取函数

名称

说明

fn:

dateTime(date,time)

把参数转换为日期和时间。

fn:

years-from-duration(datetimedur)

返回参数值的年份部分的整数,以标准词汇表示法来表示。

fn:

months-from-duration(datetimedur)

返回参数值的月份部分的整数,以标准词汇表示法来表示。

fn:

days-from-duration(datetimedur)

返回参数值的天部分的整数,以标准词汇表示法来表示。

fn:

hours-from-duration(datetimedur)

返回参数值的小时部分的整数,以标准词汇表示法来表示。

fn:

minutes-from-duration(datetimedur)

返回参数值的分钟部分的整数,以标准词汇表示法来表示。

fn:

seconds-from-duration(datetimedur)

返回参数值的分钟部分的十进制数,以标准词汇表示法来表示。

fn:

year-from-dateTime(datetime)

返回参数本地值的年部分的整数。

例子:

year-from-dateTime(xs:

dateTime("2005-01-10T12:

30-04:

10"))

结果:

2005

fn:

month-from-dateTime(datetime)

返回参数本地值的月部分的整数。

例子:

month-from-dateTime(xs:

dateTime("2005-01-10T12:

30-04:

10"))

结果:

01

fn:

day-from-dateTime(datetime)

返回参数本地值的天部分的整数。

例子:

day-from-dateTime(xs:

dateTime("2005-01-10T12:

30-04:

10"))

结果:

10

fn:

hours-from-dateTime(datetime)

返回参数本地值的小时部分的整数。

例子:

hours-from-dateTime(xs:

dateTime("2005-01-10T12:

30-04:

10"))

结果:

12

fn:

minutes-from-dateTime(datetime)

返回参数本地值的分钟部分的整数。

例子:

minutes-from-dateTime(xs:

dateTime("2005-01-10T12:

30-04:

10"))

结果:

30

fn:

seconds-from-dateTime(datetime)

返回参数本地值的秒部分的十进制数。

例子:

seconds-from-dateTime(xs:

dateTime("2005-01-10T12:

30:

00-04:

10"))

结果:

0

fn:

timezone-from-dateTime(datetime)

返回参数的时区部分,如果存在。

fn:

year-from-date(date)

返回参数本地值中表示年的整数。

例子:

year-from-date(xs:

date("2005-04-23"))

结果:

2005

fn:

month-from-date(date)

返回参数本地值中表示月的整数。

例子:

month-from-date(xs:

date("2005-04-23"))

结果:

4

fn:

day-from-date(date)

返回参数本地值中表示天的整数。

例子:

day-from-date(xs:

date("2005-04-23"))

结果:

23

fn:

timezone-from-date(date)

返回参数的时区部分,如果存在。

fn:

hours-from-time(time)

返回参数本地值中表示小时部分的整数。

例子:

hours-from-time(xs:

time("10:

22:

00"))

结果:

10

fn:

minutes-from-time(time)

返回参数本地值中表示分钟部分的整数。

例子:

minutes-from-time(xs:

time("10:

22:

00"))

结果:

22

fn:

seconds-from-time(time)

返回参数本地值中表示秒部分的整数。

例子:

seconds-from-time(xs:

time("10:

22:

00"))

结果:

0

fn:

timezone-from-time(time)

返回参数的时区部分,如果存在。

fn:

adjust-dateTime-to-timezone(datetime,timezone)

如果timezone参数为空,则返回没有时区的dateTime。

否则返回带有时区的dateTime。

fn:

adjust-date-to-timezone(date,timezone)

如果timezone参数为空,则返回没有时区的date。

否则返回带有时区的date。

fn:

adjust-time-to-timezone(time,timezone)

如果timezone参数为空,则返回没有时区的time。

否则返回带有时区的time。

与QNames相关的函数

名称

说明

fn:

QName()

fn:

local-name-from-QName()

fn:

namespace-uri-from-QName()

fn:

namespace-uri-for-prefix()

fn:

in-scope-prefixes()

fn:

resolve-QName()

关于节点的函数

名称

说明

∙fn:

name()

∙fn:

name(nodeset)

返回当前节点的名称或指定节点集中的第一个节点。

∙fn:

local-name()

∙fn:

local-name(nodeset)

返回当前节点的名称或指定节点集中的第一个节点-不带有命名空间前缀。

∙fn:

namespace-uri()

∙fn:

namespace-uri(nodeset)

返回当前节点或指定节点集中第一个节点的命名空间URI。

fn:

lang(lang)

如果当前节点的语言匹配指定的语言,则返回true。

例子:

Lang("en")istruefor

lang="en">...

例子:

Lang("de")isfalsefor

lang="en">...

∙fn:

root()

∙fn:

root(node)

返回当前节点或指定的节点所属的节点树的根节点。

通常是文档节点。

有关序列的函数

一般性的函数

名称

说明

fn:

index-of((item,item,...),searchitem)

返回在项目序列中等于searchitem参数的位置。

例子:

index-of((15,40,25,40,10),40)

结果:

(2,4)

例子:

index-of(("a","dog","and","a","duck"),"a")

Result(1,4)

例子:

index-of((15,40,25,40,10),18)

结果:

()

fn:

remove((item,item,...),position)

返回由item参数构造的新序列-同时删除position参数指定的项目。

例子:

remove(("ab","cd","ef"),0)

结果:

("ab","cd","ef")

例子:

remove(("ab","cd","ef"),1)

结果:

("cd","ef")

例子:

remove(("ab","cd","ef"),4)

结果:

("ab","cd","ef")

fn:

empty(item,item,...)

如果参数值是空序列,则返回true,否则返回false。

例子:

empty(remove(("ab","cd"),1))

结果:

false

fn:

exists(item,item,...)

如果参数值不是空序列,则返回true,否则返回false。

例子:

exists(remove(("ab"),1))

结果:

false

fn:

distinct-values((item,item,...),collation)

返回唯一不同的值。

例子:

distinct-values((1,2,3,1,2))

结果:

(1,2,3)

fn:

insert-before((item,item,...),pos,inserts)

返回由item参数构造的新序列-同时在pos参数指定位置插入inserts参数的值。

例子:

insert-before(("ab","cd"),0,"gh")

结果:

("gh","ab","cd")

例子:

insert-before(("ab","cd"),1,"gh")

结果:

("gh","ab","cd")

例子:

insert-before(("ab","cd"),2,"gh")

结果:

("ab","gh","cd")

例子:

insert-before(("ab","cd"),5,"gh")

结果:

("ab","cd","gh")

fn:

reverse((item,item,...))

返回指定的项目的颠倒顺序。

例子:

reverse(("ab","cd","ef"))

结果:

("ef","cd","ab")

例子:

reverse(("ab"))

结果:

("ab")

fn:

subsequence((item,item,...),start,len)

返回start参数指定的位置返回项目序列,序列的长度由len参数指定。

第一个项目的位置是1。

例子:

subsequence(($item1,$item2,$item3,...),3)

结果:

($item3,...)

例子:

subsequence(($item1,$item2,$item3,...),2,2)

结果:

($item2,$item3)

fn:

unordered((item,item,...))

依据实现决定的顺序来返回项目。

测试序列容量的函数

名称

说明

fn:

zero-or-one(item,item,...)

如果参数包含零个或一个项目,则返回参数,否则生成错误。

fn:

one-or-more(item,item,...)

如果参数包含一个或多个项目,则返回参数,否则生成错误。

fn:

exactly-one(item,item,...)

如果参数包含一个项目,则返回参数,否则生成错误。

Equals,Union,IntersectionandExcept

名称

说明

fn:

deep-equal(param1,param2,collation)

如果param1和param2与彼此相等(deep-equal),则返回true,否则返回false。

合计函数

名称

说明

fn:

count((item,item,...))

返回节点的数量。

fn:

avg((arg,arg,...))

返回参数值的平均数。

例子:

avg((1,2,3))结果:

2

fn:

max((arg,arg,...))

返回大于其它参数的参数。

例子:

max((1,2,3))结果:

3例子:

max(('a','k'))结果:

'k'

fn:

min((arg,arg,...))

返回小于其它参数的参数。

例子:

min((1,2,3))结果:

1例子:

min(('a','k'))结果:

'a'

fn:

sum(arg,arg,...)

返回指定节点集中每个节点的数值的总和。

生成序列的函数

名称

说明

fn:

id((string,string,...),node)

ReturnsasequenceofelementnodesthathaveanIDvalueequaltothevalueofoneormoreofthevaluesspecifiedinthestringargument

fn:

idref((string,string,...),node)

Returnsasequenceofelement

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 物理

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1