XPath函数大全.docx
- 文档编号:18106094
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:16
- 大小:19.05KB
XPath函数大全.docx
《XPath函数大全.docx》由会员分享,可在线阅读,更多相关《XPath函数大全.docx(16页珍藏版)》请在冰点文库上搜索。
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
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- XPath 函数 大全