Funksheni ya XSLT, XPath na XQuery
- Mwili wa kuzungumza XSLT kina
- Mwili mwenye uharibifu Mafaa ya XML
XSLT 2.0、XPath 2.0 和 XQuery 1.0 共享相同的函数库。
函数参考手册
函数命名空间的默认前缀是:fn:
函数命名空间的 URI 为:http://www.w3.org/2005/xpath-functions
提示:通常使用 fn:
前缀来调用函数,例如 fn:string()
。不过,由于 fn:
是命名空间的默认前缀,因此调用时函数名不需要添加前缀。
Mifano ya kufikia
名称 | 说明 |
---|---|
fn:node-name(node) | Inarudi jina cha kina cha thamani cha paramita. |
fn:nilled(node) | Inarudi thamani ya kibali ya inaonyesha kina cha thamani cha kina cha paramita. |
fn:data(item.item,...) | Inahusisha taarifa za mafanikio, na inarudi taarifa za thamani. |
|
Inarudi thamani ya kifaa cha kina cha 'base-uri' ya mikononi au kifaa cha kina chaguo. |
fn:document-uri(node) | Inarudi thamani ya kifaa cha kina ya 'document-uri'. |
Mifano ya kosa na kusikitisha
名称 | 说明 |
---|---|
|
Mfano: error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high') Matokeo: Inarudi kwa kifaa cha kusaidia kina ya http://example.com/test#toohigh na kikoa cha 'Error: Price is too high'. |
fn:trace(value,label) | Inatumiwa kwa kusikitisha kwa ujumbe. |
Muhtasari wa mifano ya thamani
名称 | 说明 |
---|---|
fn:number(arg) |
Inaisha paramita ya thamani. Paramita inaweza kuwa thamani ya kibali, uzito wa jina au kikoa cha ukweli. Mifano: number('100')} Matokeo: 100 |
fn:abs(num) |
Inasikia thamani ya uenezi wa thamani. Mifano: abs(3.14) Matokeo: 3.14 Mifano: abs(-3.14) Matokeo: 3.14 |
fn:ceiling(num) |
Inasikia uenezi wa thamani ya num. Mifano: ceiling(3.14) Matokeo: 4 |
fn:floor(num) |
Inasikia uenezi mkono wa thamani ya num. Mifano: floor(3.14) Matokeo: 3 |
fn:round(num) |
Inakubali thamani ya num kwa uenezi mkono. Mifano: round(3.14) Matokeo: 3 |
fn:round-half-to-even() |
Mifano: round-half-to-even(0.5) Matokeo: 0 Mifano: round-half-to-even(1.5) Matokeo: 2 Mifano: round-half-to-even(2.5) Matokeo: 2 |
Funguo za neno
名称 | 说明 |
---|---|
fn:string(arg) |
Inasikia thamani ya neno ya kibali. Parameter inaweza kuwa namba, thamani logiki au kikaa. Mifano: string(314) Matokeo: "314" |
fn:codepoints-to-string(int,int,...) |
Kwa msingi wa codepoint, inasikia neno. Mifano: codepoints-to-string(84, 104, 233, 114, 232, 115, 101) Matokeo: 'Thérèse' |
fn:string-to-codepoints(string) |
Kwa heriko la neno, inasikia msingi wa codepoint. Mifano: string-to-codepoints("Thérèse") Matokeo: 84, 104, 233, 114, 232, 115, 101 |
fn:codepoint-equal(comp1,comp2) | Kwa sheria ya Unicode codepoint, ikiwa thamani ya comp1 inaelewa thamani ya comp2, inasikia true. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint), ingawa inasikia false. |
|
Ikiwa comp1 inahesabika comp2, inasikia -1. Ikiwa comp1 inaelewa comp2, inasikia 0. Ikiwa comp1 inaenea comp2, inasikia 1. (Kwa sheria ya sheria ya kugawanyika inayotumiwa). 例子:compare('ghi', 'ghi') Matokeo: 0 |
fn:concat(string,string,...) |
返回字符串的拼接。 例子:concat('XPath ','is ','FUN!') 结果:'XPath is FUN!' |
fn:string-join((string,string,...),sep) |
使用 sep 参数作为分隔符,来返回 string 参数拼接后的字符串。 例子:string-join(('We', 'are', 'having', 'fun!'), ' ') 结果:' We are having fun! ' 例子:string-join(('We', 'are', 'having', 'fun!')) 结果:'Wearehavingfun!' 例子:string-join((), 'sep') 结果:'' |
|
返回从 start 位置开始的指定长度的子字符串。第一个字符的下标是 1。如果省略 len 参数,则返回从位置 start 到字符串末尾的子字符串。 Mfano: substring('Beatles',1,4) Matokeo: 'Beat' Mfano: substring('Beatles',2) Matokeo: 'eatles' |
|
Inatoa kipimo cha string inayotumika. Ikiwa string inahitajika, inatoa kipimo cha thamani cha hali hivi. Mfano: string-length('Beatles') Matokeo: 7 |
|
Kumia upofu wa kwanza na mwisho wa string inayotumika, na kumwambia upofu wa ndani kwa kipimo chenye, na kuweka matokeo. Ikiwa string inahitajika, inapokea uharibifu wa hali hivi. Mfano: normalize-space(' The XML ') Matokeo: 'The XML' |
fn:normalize-unicode() | Kufanya uharibifu wa Unicode. |
fn:upper-case(string) |
Kamilika string inafikia kifupi kikuu. Mfano: upper-case('The XML') Matokeo: 'THE XML' |
fn:lower-case(string) |
Badilisha string kwa kuzingatia kama kichwani. Mfano: lower-case('The XML') Matokeo: 'the xml' |
fn:translate(string1,string2,string3) |
Badilisha string2 katika string1 na string3. Mfano: translate('12:30','30','45') Matokeo: '12:45' Mfano: translate('12:30','03','54') Matokeo: '12:45' Mfano: translate('12:30','0123','abcd') Matokeo: 'bc:da' |
fn:escape-uri(stringURI,esc-res) |
Mfano: escape-uri("http://example.com/test#car", true()) Matokeo: "http%3A%2F%2Fexample.com%2Ftest#car" Mfano: escape-uri("http://example.com/test#car", false()) Matokeo: "http://example.com/test#car" Mfano: escape-uri ("http://example.com/~bébé", false()) Matokeo: "http://example.com/~b%C3%A9b%C3%A9" |
fn:contains(string1,string2) |
Ikiwa string1 inaonekana string2, rido true, inaona rido false. Mfano: contains('XML','XM') Matokeo: true |
fn:starts-with(string1,string2) |
Ikiwa string1 inaanza na string2, rido true, inaona rido false. Mfano: starts-with('XML','X') Matokeo: true |
fn:ends-with(string1,string2) |
Ikiwa string1 inaishia na string2, rido true, inaona rido false. Mfano: ends-with('XML','X') 结果:false |
fn:substring-before(string1,string2) |
Inaonyesha string2 katika string1 kabla ya kumekarishwa. Mfano: substring-before('12/10','/') Matokeo: '12' |
fn:substring-after(string1,string2) |
Inaisha matokeo wa kufikia kwa thamani ya string2 katika string1 baada ya kumathukia. Mfano: substring-after('12/10','/') Matokeo: '10' |
fn:matches(string,pattern) |
Inaisha true kama thamani ya string inamathukio na umbo wa kufikia, nyingine ni false. Mfano: matches("Merano", "ran") Matokeo: true |
fn:replace(string,pattern,replace) |
Inakubali umbo wa kufikia kwa thamani ya replace, na inaisha matokeo. Mfano: replace("Bella Italia", "l", "*") Matokeo: 'Be**a Ita*ia' Mfano: replace("Bella Italia", "l", "") Matokeo: 'Bea Itaia' |
fn:tokenize(string,pattern) |
Mfano: tokenize("XPath is fun", "\s+") Matokeo: ("XPath", "is", "fun") |
Funguo ya anyURI.
名称 | 说明 |
---|---|
fn:resolve-uri(relative,base) |
Funguo za thamani ya bure.
名称 | 说明 |
---|---|
fn:boolean(arg) | Inaisha thamani ya bure ya namba, jina au kikaa cha mabaki. |
fn:not(arg) |
Kwanza inakubali thamani kwa thamani ya bure kwa kutumia funguo boolean(). Inaisha true kama thamani ya bure ni false, nyingine ni true. Mfano: not(true()) 结果:false |
fn:true() |
Inaisha thamani ya kidogo cha kweli. Mfano: true() Matokeo: true |
fn:false() |
Inaisha thamani ya kidogo cha bure. Mfano: false() 结果:false |
Funguo za muda, tarehe na wa kufikia.
Funguo za kujifunza kilele cha tarehe, muda na wa kufikia.
名称 | 说明 |
---|---|
fn:dateTime(date,time) | Inakubali thamani kwa tarehe na wa muda. |
fn:years-from-duration(datetimedur) | Inaisha angalau ya mwaka kwa thamani ya kufikia, inayotumiwa kwa mawili ya kawaida. |
fn:months-from-duration(datetimedur) | Inaisha angalau ya mwezi kwa thamani ya kufikia, inayotumiwa kwa mawili ya kawaida. |
fn:days-from-duration(datetimedur) | Ina: Ina ya siku ya muda, inayotumiwa kwa ujumbe wa kawaida. |
fn:hours-from-duration(datetimedur) | Ina: Ina ya saa ya muda, inayotumiwa kwa ujumbe wa kawaida. |
fn:minutes-from-duration(datetimedur) | Ina: Ina ya dakika ya muda, inayotumiwa kwa ujumbe wa kawaida. |
fn:seconds-from-duration(datetimedur) | Ina: Ina ya dakika ya muda, inayotumiwa kwa ujumbe wa kawaida. |
fn:year-from-dateTime(datetime) |
Ina: Ina ya mwaka ya msahili wa kawaida. Mfano: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Matokeo: 2005 |
fn:month-from-dateTime(datetime) |
Ina: Ina ya mwaka ya msahili wa kawaida. Mfano: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Matokeo: 01 |
fn:day-from-dateTime(datetime) |
Ina: Ina ya siku ya msahili wa kawaida. Mfano: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Matokeo: 10 |
fn:hours-from-dateTime(datetime) |
Ina: Ina ya saa ya msahili wa kawaida. Mfano: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Matokeo: 12 |
fn:minutes-from-dateTime(datetime) |
Ina: Ina ya dakika ya msahili wa kawaida. Mfano: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Matokeo: 30 |
fn:seconds-from-dateTime(datetime) |
Ina: Ina ya msahili wa kawaida wa wakati hali ya msahili. Mfano: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10")) Matokeo: 0 |
fn:timezone-from-dateTime(datetime) | Inahesha sehemu ya wakati wa mbinu, kama inapatikana. |
fn:year-from-date(date) |
Inahesha chini ya mbinu ya kumekadiri mwaka kwenye thamani. Mivuno: year-from-date(xs:date("2005-04-23")) Matokeo: 2005 |
fn:month-from-date(date) |
Inahesha chini ya mbinu ya kumekadiri maandiko kwenye thamani. Mivuno: month-from-date(xs:date("2005-04-23")) Matokeo: 4 |
fn:day-from-date(date) |
Inahesha chini ya mbinu ya kumekadiri siku kwenye thamani. Mivuno: day-from-date(xs:date("2005-04-23")) Matokeo: 23 |
fn:timezone-from-date(date) | Inahesha sehemu ya wakati wa mbinu, kama inapatikana. |
fn:hours-from-time(time) |
Inahesha chini ya mbinu ya kumekadiri saa kwenye thamani. Mivuno: hours-from-time(xs:time("10:22:00")) Matokeo: 10 |
fn:minutes-from-time(time) |
Inahesha chini ya mbinu ya kumekadiri minati kwenye thamani. Mivuno: minutes-from-time(xs:time("10:22:00")) Matokeo: 22 |
fn:seconds-from-time(time) |
Inahesha chini ya mbinu ya kumekadiri wakati wa sekunde kwenye thamani. Mivuno: seconds-from-time(xs:time("10:22:00")) Matokeo: 0 |
fn:timezone-from-time(time) | Inahesha sehemu ya wakati wa mbinu, kama inapatikana. |
fn:adjust-dateTime-to-timezone(datetime,timezone) |
Kamaanisha timezone kipakusha dateTime bila timezone. Inayorejea dateTime na naonekana timezone. |
fn:adjust-date-to-timezone(date,timezone) |
Kamaanisha timezone kipakusha date bila timezone. Inayorejea date na naonekana timezone. |
fn:adjust-time-to-timezone(time,timezone) |
Kamaanisha timezone kipakusha time bila timezone. Inaona: Kama hali ya eneo la hatua inafanana na hali iliyotakiwa, inaonekana kwa upande wa hali iliyotakiwa na kuzingatia kwa wakati wa eneo kwenye eneo iliyotakiwa. |
Fomu ya kufanana 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() |
Fomu ya kufanana eneo
名称 | 说明 |
---|---|
|
Inaona: Kuzingatia jina la eneo kwenye eneo kwenye eneo iliyotakiwa. |
|
Inaona: Kuzingatia jina la eneo kwenye eneo kwenye eneo iliyotakiwa kwa sababu ya eneo la hatua. |
|
Inaona: Kuzingatia eneo kwenye eneo kwenye eneo iliyotakiwa kwa sababu ya eneo la hatua. |
fn:lang(lang) |
Inaona: Kama hali ya eneo la hatua inafanana na hali iliyotakiwa, inaonekana kwa true. Mfano: Lang("en") inaonekana kwa <p xml:lang="en">...</p> Mfano: Lang("de") inaonekana kwa <p xml:lang="en">...</p> |
|
Inaona: Kuzingatia juu ya mti wa eneo kwenye eneo ambao anayefikia juu ya hali au eneo iliyotakiwa. Kwa kawaida ni eneo wa hatua. |
Fomu ya kufanana orodha
Fomu ya kufanana
名称 | 说明 |
---|---|
fn:index-of((item,item,...),searchitem) |
Inaona: Kuzingatia upande wa item kwa sababu ya kufungua upande mpya wa orodha. Mfano: index-of ((15, 40, 25, 40, 10), 40) Mfano: (2, 4) Mfano: index-of (("a", "dog", "and", "a", "duck"), "a") Mfano (1, 4) Mfano: index-of ((15, 40, 25, 40, 10), 18) Mfano: () |
fn:remove((item,item,...),position) |
Inaona: Kuzingatia upande wa item kwa upo wa kuzingatia upande wa position kwa sababu ya kufungua upande mpya wa orodha. Mfano: remove(("ab", "cd", "ef"), 0) 结果:("ab", "cd", "ef") Mfano: 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 参数的值。 Mfano: insert-before(("ab", "cd"), 0, "gh") Mfano: ("gh", "ab", "cd") Mfano: insert-before(("ab", "cd"), 1, "gh") Mfano: ("gh", "ab", "cd") Mfano: insert-before(("ab", "cd"), 2, "gh") Mfano: ("ab", "gh", "cd") Mfano: insert-before(("ab", "cd"), 5, "gh") Mfano: ("ab", "cd", "gh") |
fn:reverse((item,item,...)) |
Inaonyesha msingi wa kipimo cha kipya cha kipimo cha kipya cha kipya cha kipya. Mfano: reverse(("ab", "cd", "ef")) Mfano: ("ef", "cd", "ab") Mfano: reverse(("ab")) Mfano: ("ab") |
fn:subsequence((item,item,...),start,len) |
Inaonyesha kipimo cha start kirejea kipimo cha kipimo cha len. Viwango wa kipya ni 1. Mfano: subsequence(($item1, $item2, $item3,...), 3) Matokeo: ($item3, ...) Mfano: subsequence(($item1, $item2, $item3, ...), 2, 2) Matokeo: ($item2, $item3) |
fn:unordered((item,item,...)) | Inaonyesha matukio kwa muundo wa kufanyika kwa kuzalishwa. |
Funguo za kuwaonyesha ukubwa wa msingi wa matukio
名称 | 说明 |
---|---|
fn:zero-or-one(item,item,...) | Inaonyesha thamani kama inaingia kiwango kirefu au kimoja, inaonyesha kosa kama inaingia thamani zilizopita. |
fn:one-or-more(item,item,...) | Inaonyesha thamani kama inaingia kiwango kimoja au zaidi, inaonyesha kosa kama inaingia thamani zilizopita. |
fn:exactly-one(item,item,...) | Inaonyesha thamani kama inaingia kiwango kimoja, inaonyesha kosa kama inaingia thamani zaidi. |
Kawaida, Union, Intersection na Except
名称 | 说明 |
---|---|
fn:deep-equal(param1,param2,collation) | Inaonyesha true kama param1 na param2 ni kawaida (deep-equal), inaonyesha false kama sababu nyingine. |
Funguo za kuzikwamisha
名称 | 说明 |
---|---|
fn:count((item,item,...)) | Inaonyesha jumla ya node. |
fn:avg((arg,arg,...)) |
Inaonyesha upele wa thamani za parametri. Mfano: avg((1,2,3)) Matokeo: 2 |
fn:max((arg,arg,...)) |
Inaonyesha thamani ambazo ni juu ya thamani zingine. Mfano: max((1,2,3)) Matokeo: 3 Mfano: max(('a', 'k')) Matokeo: 'k' |
fn:min((arg,arg,...)) |
Inaonyesha thamani ambazo ni chini ya thamani zingine. Mfano: min((1,2,3)) Matokeo: 1 Mfano: min(('a', 'k')) Matokeo: 'a' |
fn:sum(arg,arg,...) | Inaonyesha jumla ya thamani ya kila node katika kikombe cha kina. |
Funguo za kuzalisha msingi
名称 | 说明 |
---|---|
fn:id((string,string,...),node) | Inaonyesha elementi za node, ID ni wanaingia na thamani za string inayotumiwa kwa mawili au zaidi. |
fn:idref((string,string,...),node) | Inaonyesha elementi au kiwango cha kina cha node, IDREF ni wanaingia na thamani za string inayotumiwa kwa mawili au zaidi. |
fn:doc(URI) | |
fn:doc-available(URI) | 如果 doc() 函数返回文档节点,则返回 true,否则返回 false。 |
|
上下文函数
名称 | 说明 |
---|---|
fn:position() |
返回当前正在被处理的节点的 index 位置。 例子://book[position()<=3] 结果:选择前三个 book 元素 |
fn:last() |
返回在被处理的节点列表中的项目数目。 例子://book[last()] 结果:选择最后一个 book 元素 |
fn:current-dateTime() | 返回当前的 dateTime(带有时区)。 |
fn:current-date() | 返回当前的日期(带有时区)。 |
fn:current-time() | 返回当前的时间(带有时区)。 |
fn:implicit-timezone() | 返回隐式时区的值。 |
fn:default-collation() | 返回默认对照的值。 |
fn:static-base-uri() | 返回 base-uri 的值。 |
XSLT 函数
此外,还有以下内置的 XSLT 函数:
名称 | 描述 |
---|---|
current() | 返回当前节点作为唯一成员的节点集。 |
document() | 用于访问外部 XML 文档中的节点。 |
element-available() | 检测 XSLT 处理器是否支持指定的元素。 |
format-number() | 把数字转换为字符串。 |
function-available() | 检测 XSLT 处理器是否支持指定的函数。 |
generate-id() | 返回唯一标识指定节点的字符串值。 |
key() | 检索以前使用 |
node-set | 将树转换为节点集。产生的节点集总是包含单个节点并且是树的根节点。 |
system-property() | Rudi thamani ya hisia ya mbinguni. |
unparsed-entity-uri() | Rudi URI ya kina hali ya huzuni. |
- Mwili wa kuzungumza XSLT kina
- Mwili mwenye uharibifu Mafaa ya XML