XSLT、XPath 以及 XQuery 函数
- Ƙasashen gaba XSLT ƙarancin
- Ƙasashen gaba Tutoriyan XML
XSLT 2.0, XPath 2.0 da XQuery 1.0 za a yi amfani da kiyayewa da yawa.
Manufar fon kiyi amfani da shi
Kwanan wuri na kwanan wuri na fon kiyi amfani da shi shine:fn:
URI na kwanan wuri na fon kiyi amfani da shi shine:http://www.w3.org/2005/xpath-functions
Tuntun:Kamfanin... fn:
Akwai kwanan wuri don kira fon, misali fn:string()
Kamfanin... fn:
Ana kira kuma a kira kwanan wuri da a yi amfani da shi, kuma a kira lambar a kwanan wuri.
Fon kiyi amfani
Name | Description |
---|---|
fn:node-name(node) | Rannar arabinan zaiyawa na yanki na zaiyawa. |
fn:nilled(node) | Rannar arabinan zaiyawa ko wani yanki na zaiyawa za a yi amfani da shi. |
fn:data(item.item,...) | Akwai yankin kiyi, kuma a rannar yankin zaiyawa. |
|
Rannar arabinan zaiyawa na yankin na zaiyawa ko wani yanki na zaiyawa. |
fn:document-uri(node) | Rannar arabinan zaiyawa na wani yanki na zaiyawa. |
Fon kiyi ra'ayi da kwararru
Name | Description |
---|---|
|
Shaidar: error(fn:QName('http://example.com/test', 'err:toohigh'), 'Rarrarci: Dabawar yanayi kaiwace') Narawa: Ci gaba da kwararru gaba da http://example.com/test#toohigh kuma tsohonan "Rarrarci: Dabawar yanayi kaiwace". |
fn:trace(value,label) | Ganin kwararriya na yankin nuna. |
Fon kiyi arabinan zaiyawa
Name | Description |
---|---|
fn:number(arg) |
Rannar arabinan zaiyawa. Arabinan za aya za kuwa kalmanso, tsohonan kuma yanki na yanki. kashi: number('100') nimi: 100 |
fn:abs(num) |
return kuduwa ɗan kudurin ɗan arg. kashi: abs(3.14) nimi: 3.14 kashi: abs(-3.14) nimi: 3.14 |
fn:ceiling(num) |
return kuduwa ɗan kudurin kai ya'a kaiya num ɗan kudurin kuduwa. kashi: ceiling(3.14) Nantaliya: 4 |
fn:floor(num) |
return kuduwa ɗan kudurin kai ya'a kaiya num ɗan kudurin kuduwa. kashi: floor(3.14) 结果:3 |
fn:round(num) |
round num ɗan kudurin sabonin kai kuduwa. kashi: round(3.14) 结果:3 |
fn:round-half-to-even() |
kashi: round-half-to-even(0.5) Nantaliya: 0 kashi: round-half-to-even(1.5) 结果:2 kashi: round-half-to-even(2.5) 结果:2 |
gina ɗin shirin.
Name | Description |
---|---|
fn:string(arg) |
return kashi ɗin shirin ɗan arg. arg za'a kai sabon, kuduwa, ko'ina ko'ina ɗan kudurin. kashi: string(314) nimi: "314" |
fn:codepoints-to-string(int,int,...) |
daga kudurin ɗin kudurin return kashi. kashi: codepoints-to-string(84, 104, 233, 114, 232, 115, 101) nimi: 'Thérèse' |
fn:string-to-codepoints(string) |
daga kashi return kudurin ɗin kudurin kashi. kashi: string-to-codepoints("Thérèse") nimi: 84, 104, 233, 114, 232, 115, 101 |
fn:codepoint-equal(comp1,comp2) | daga abin Unicode ɗin kudurin shirin, idannanin ɗan comp1 ya'a kai ɗan comp2 ya'a, a baya true. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint), wanda ya'a baya false. |
|
idannanin comp1 ya'a kai comp2, a baya -1. idannanin comp1 ya'a dana comp2, a baya 0. idannanin comp1 ya'a kaiya comp2, a baya 1. (daga abin da a baya gina shirin). masanin: compare('ghi', 'ghi') Nantaliya: 0 |
fn:concat(string,string,...) |
A kan wajen koyan koyan string. masanin: concat('XPath ','is ','FUN!') niyata: 'XPath is FUN!' |
fn:string-join((string,string,...),sep) |
A yana amfani da abin sep a matsayin tsammanin, domin koyan koyan string a furo a furo. masanin: string-join(('We', 'are', 'having', 'fun!'), ' ') niyata: ' We are having fun! ' masanin: string-join(('We', 'are', 'having', 'fun!')) niyata: 'Wearehavingfun!' masanin: string-join((), 'sep') niyata: '' |
|
A kan wajen koyan koyan furo a furo daga wuri start. Koyan farko na abin da koyan koyan furo a furo na wuri 1. Idan koyan len ba a kan, a kan wajen koyan koyan furo a furo daga wuri start zuwa farko na koyan furo a furo. masanin: substring('Beatles',1,4) niyata: 'Beat' masanin: substring('Beatles',2) niyata: 'eatles' |
|
A kan wajen fara koyan koyan string. Idan koyan string ba a kan, a kan wajen koyan koyan furo a furo na koyan node na yanzu. masanin: string-length('Beatles') niyata: 7 |
|
A ya koyan furo a furo na farko koyan koyan string, kuma yana canza koyan furo a furo daga baiwa zuwa kananan furo, kuma yana kiyasta koyan furo a furo. Idan koyan string ba a kan, a canza koyan furo a furo na koyan node na yanzu. masanin: normalize-space(' The XML ') niyata: 'The XML' |
fn:normalize-unicode() | A kan wajen Unicode规范化. |
fn:upper-case(string) |
A canza koyan string a furo a furo. masanin: upper-case('The XML') naturi: 'THE XML' |
fn:lower-case(string) |
ga string paramita za kai xi xia. karakoli: lower-case('The XML') naturi: 'the xml' |
fn:translate(string1,string2,string3) |
ga string1 dake dake dake ga string2 za string3 ga hana. karakoli: translate('12:30','30','45') naturi: '12:45' karakoli: translate('12:30','03','54') naturi: '12:45' karakoli: translate('12:30','0123','abcd') naturi: 'bc:da' |
fn:escape-uri(stringURI,esc-res) |
karakoli: escape-uri("http://example.com/test#car", true()) naturi: "http%3A%2F%2Fexample.com%2Ftest#car" karakoli: escape-uri("http://example.com/test#car", false()) naturi: "http://example.com/test#car" karakoli: escape-uri ("http://example.com/~bébé", false()) naturi: "http://example.com/~b%C3%A9b%C3%A9" |
fn:contains(string1,string2) |
kuma string1 za string2 za kai, za kai 'true', ba za kai 'false'. karakoli: contains('XML','XM') Naturi: true |
fn:starts-with(string1,string2) |
kuma string1 za string2 za kai, za kai 'true', ba za kai 'false'. karakoli: starts-with('XML','X') Naturi: true |
fn:ends-with(string1,string2) |
kuma string1 za string2 zai kusa, za kai 'true', ba za kai 'false'. karakoli: ends-with('XML','X') naturi: false |
fn:substring-before(string1,string2) |
ناigationa gari string2 zu string1 dake dake dake gari. Tukuru: substring-before('12/10','/') Naturi: '12' |
fn:substring-after(string1,string2) |
Ba ayyan baya ce mai na string2 a kan string1 bayan yin. Tukuru: substring-after('12/10','/') Naturi: '10' |
fn:matches(string,pattern) |
Baya ce mai ta kai true, wanda a baya ce mai ta kai pattern, ko baya ce mai. Tukuru: matches("Merano", "ran") Naturi: true |
fn:replace(string,pattern,replace) |
Ba ayyan hanyan gida na baya ce mai ta gida na baya ce mai replace, ta ce mai naturi. Tukuru: replace("Bella Italia", "l", "*") Naturi: 'Be**a Ita*ia' Tukuru: replace("Bella Italia", "l", "") Naturi: 'Bea Itaia' |
fn:tokenize(string,pattern) |
Tukuru: tokenize("XPath is fun", "\s+") Naturi: ("XPath", "is", "fun") |
Fonkashin gida na anyURI.
Name | Description |
---|---|
fn:resolve-uri(relative,base) |
Fonkashin gida na baya ce mai.
Name | Description |
---|---|
fn:boolean(arg) | Ba ayyan baya ce mai na gida na dabbobi, hanyan gida na baya ce mai, ko yankin. |
fn:not(arg) |
Tafaciwa farko ta farko boolean() fonkashin don ta kai baya ce mai. Baya ce mai ta kai true, wanda a baya ce mai kai true. Tukuru: not(true()) naturi: false |
fn:true() |
Ba ayyan baya ce mai. Tukuru: true() Naturi: true |
fn:false() |
Ba ayyan baya ce mai. Tukuru: false() naturi: false |
Fonkashin gida na baya ce mai, baya ce mai lokaci da wakilci.
Fonkashin yankin gida na baya ce mai, lokaci da wakilci.
Name | Description |
---|---|
fn:dateTime(date,time) | Ba baya ce mai ta guda da lokaci. |
fn:years-from-duration(datetimedur) | Ba ayyan shekarun gida na baya ce mai, ta ce mai hanyan yankin na kiyasa. |
fn:months-from-duration(datetimedur) | Ba ayyan hanyan gida na baya ce mai, ta ce mai hanyan yankin na kiyasa. |
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")) Nantaliya: 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")) Nantaliya: 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")) Nantaliya: 0 |
fn:timezone-from-dateTime(datetime) | A hadda a yau timezone taka kara, a hadda muhimmancin kudu timezone. |
fn:year-from-date(date) |
A hadda a yau date taka kara, a hadda sabuntociin kudu wakit. Tarihin: year-from-date(xs:date("2005-04-23")) Nantaliya: 2005 |
fn:month-from-date(date) |
A hadda a yau date taka kara, a hadda sabuntociin kudu wakit. Tarihin: month-from-date(xs:date("2005-04-23")) Nantaliya: 4 |
fn:day-from-date(date) |
A hadda a yau date taka kara, a hadda sabuntociin kudu wakit. Tarihin: day-from-date(xs:date("2005-04-23")) Nantaliya: 23 |
fn:timezone-from-date(date) | A hadda a yau timezone taka kara, a hadda muhimmancin kudu timezone. |
fn:hours-from-time(time) |
A hadda a yau time taka kara, a hadda sabuntociin kudu wakit. Tarihin: hours-from-time(xs:time("10:22:00")) Nantaliya: 10 |
fn:minutes-from-time(time) |
A hadda a yau time taka kara, a hadda sabuntociin kudu minit. Tarihin: minutes-from-time(xs:time("10:22:00")) Nantaliya: 22 |
fn:seconds-from-time(time) |
A hadda a yau time taka kara, a hadda sabuntociin kudu sekun. Tarihin: seconds-from-time(xs:time("10:22:00")) Nantaliya: 0 |
fn:timezone-from-time(time) | A hadda a yau timezone taka kara, a hadda muhimmancin kudu timezone. |
fn:timezone-from-time(time) |
Hadda a yau timezone taka kara, a hadda dateTime wanda ba ga jirin timezone. fn:adjust-dateTime-to-timezone(datetime,timezone) |
Dake a yau timezone taka kara, a hadda dateTime wanda ba ga jirin timezone. |
fn:adjust-date-to-timezone(date,timezone) Dake a yau timezone taka kara, a hadda date wanda ba ga jirin timezone. |
fn:adjust-time-to-timezone(time,timezone) |
Hadda a yau timezone taka kara, a hadda time wanda ba ga jirin timezone. إلا إذا كان هناك وقت معين |
دوال QNames
Name | Description |
---|---|
fn:QName() | |
fn:local-name-from-QName() | |
fn:namespace-uri-from-QName() | |
fn:namespace-uri-for-prefix() | |
fn:in-scope-prefixes() | |
fn:resolve-QName() |
دوال العنصر
Name | Description |
---|---|
|
مستجدات العود إلى الاسم للعنصر الحالي أو العنصر الأول في مجموعة العناصر. |
|
مستجدات العود إلى الاسم الحالي للعنصر الحالي أو العنصر الأول في مجموعة العناصر - بدون مسمى المكانة. |
|
مستجدات العود إلى URI المكانة المحدد للعنصر الحالي أو مجموعة العناصر المحددة. |
fn:lang(lang) |
إذا كانت لغة العنصر الحالي مطابقة للغة المحددة، فإنه يعود صحيح. مثال: Lang("en") هو صحيح لل <p xml:lang="en">...</p> مثال: Lang("de") هو خطأ لل <p xml:lang="en">...</p> |
|
مستجدات العود إلى جذر شجرة العناصر الحالية أو العنصر المحدد. عادة ما يكون هذا العنصر نود الوثيقة. |
دوال السلسلة
دالة عامة
Name | Description |
---|---|
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") نتيجة (1, 4) مثال: index-of ((15, 40, 25, 40, 10), 18) نتيجة: () |
fn:remove((item,item,...),position) |
مستجدات بناء السلسلة الجديدة من قبل معرف item - إزالة العنصر المحدد بمعرف position. مثال: remove(("ab", "cd", "ef"), 0) naturi: ("ab", "cd", "ef") مثال: remove(("ab", "cd", "ef"), 1) naturi: ("cd", "ef") amata: remove(("ab", "cd", "ef"), 4) naturi: ("ab", "cd", "ef") |
fn:empty(item,item,...) |
idannan abin da kiyasta item shi tsohon farkin farko, a baca true, amma idan ba, a baca false. amata: empty(remove(("ab", "cd"), 1)) naturi: false |
fn:exists(item,item,...) |
idannan abin da kiyasta item ba shi tsohon farkin farko, a baca true, amma idan ba, a baca false. amata: exists(remove(("ab"), 1)) naturi: false |
fn:distinct-values((item,item,...),collation) |
a baca abin da kiyasta farkin farko na yauyi. amata: distinct-values((1, 2, 3, 1, 2)) naturi: (1, 2, 3) |
fn:insert-before((item,item,...),pos,inserts) |
a baca abin da kiyasta item, a kama abin da kiyasta inserts a bace abin da kiyasta pos. amata: insert-before(("ab", "cd"), 0, "gh") naturi: ("gh", "ab", "cd") amata: insert-before(("ab", "cd"), 1, "gh") naturi: ("gh", "ab", "cd") amata: insert-before(("ab", "cd"), 2, "gh") naturi: ("ab", "gh", "cd") amata: insert-before(("ab", "cd"), 5, "gh") naturi: ("ab", "cd", "gh") |
fn:reverse((item,item,...)) |
a baca abin da kiyasta kammala na farkin farko. amata: reverse(("ab", "cd", "ef")) naturi: ("ef", "cd", "ab") amata: reverse(("ab")) naturi: ("ab") |
fn:subsequence((item,item,...),start,len) |
a baca abin da kiyasta start, a baca abin da kiyasta len. ranti na farko na farkin farko ce 1. amata: subsequence(($item1, $item2, $item3,...), 3) 结果:($item3, ...) 例子:subsequence(($item1, $item2, $item3, ...), 2, 2) 结果:($item2, $item3) |
fn:unordered((item,item,...)) | 依据实现决定的顺序来返回项目。 |
测试序列容量的函数
Name | Description |
---|---|
fn:zero-or-one(item,item,...) | 如果参数包含零个或一个项目,则返回参数,否则生成错误。 |
fn:one-or-more(item,item,...) | 如果参数包含一个或多个项目,则返回参数,否则生成错误。 |
fn:exactly-one(item,item,...) | 如果参数包含一个项目,则返回参数,否则生成错误。 |
Equals, Union, Intersection and Except
Name | Description |
---|---|
fn:deep-equal(param1,param2,collation) | 如果 param1 和 param2 与彼此相等(deep-equal),则返回 true,否则返回 false。 |
合计函数
Name | Description |
---|---|
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,...) | 返回指定节点集中每个节点的数值的总和。 |
生成序列的函数
Name | Description |
---|---|
fn:id((string,string,...),node) | 返回元素节点序列,这些节点的 ID 值等于 string 参数中指定的一个或多个值。 |
fn:idref((string,string,...),node) | 返回元素或属性节点序列,这些节点的 IDREF 值等于 string 参数中指定的一个或多个值。 |
fn:doc(URI) | |
fn:doc-available(URI) | Returns true if the doc() function returns a document node, otherwise returns false. |
|
Context Functions
Name | Description |
---|---|
fn:position() |
Return the index position of the current node being processed. Example: //book[position()<=3] Result: Select the first three book elements |
fn:last() |
Return the number of items in the list of nodes being processed. Example: //book[last()] Result: Select the last book element |
fn:current-dateTime() | Return the current dateTime (with timezone). |
fn:current-date() | Return the current date (with timezone). |
fn:current-time() | Return the current time (with timezone). |
fn:implicit-timezone() | Return the value of the implicit timezone. |
fn:default-collation() | Return the value of the default collation. |
fn:static-base-uri() | Return the value of base-uri. |
XSLT Functions
In addition, there are the following built-in XSLT functions:
Name | Description |
---|---|
current() | Return a node set containing the current node as its only member. |
document() | Used to access nodes in an external XML document. |
element-available() | Detect whether the XSLT processor supports the specified element. |
format-number() | Convert a number to a string. |
function-available() | Detect whether the XSLT processor supports the specified function. |
generate-id() | Return the string value that uniquely identifies the specified node. |
key() | Retrieve the element previously marked with the <xsl:key> statement. |
node-set | Convert the tree to a node set. The resulting node set always contains a single node and is the root node of the tree. |
system-property() | Return the value of the system property. |
unparsed-entity-uri() | Return the URI of the unparsed entity. |
- Ƙasashen gaba XSLT ƙarancin
- Ƙasashen gaba Tutoriyan XML