XPath, XQuery, at XSLT Functions

មុខងារចូលចេញ

Names Explanations
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 របស់កំណត់ត្រលប់តម្លៃ។

មុខងារកំណត់និង trace

Names Explanations
  • fn:error()
  • fn:error(error)
  • fn:error(error,description)
  • fn:error(error,description,error-object)

ឧទាហរណ៍:error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high')

លទ្ធផល:បញ្ជូន http://example.com/test#toohigh ទៅកាន់បរិស្ថានកំណត់ពីខាងក្រៅ និងសំដី "Error: Price is too high" ។

fn:trace(value,label) ប្រើសំរាប់ debug ការស្វែងរក។

មុខងារទាក់ទងនឹងតម្លៃ។

Names Explanations
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)

Resulta: 4

fn:floor(num)

Ibalik ang pinakamalapit na integer na hindi hihigit sa num na argumento.

halimbawa:floor(3.14)

Resulta: 3

fn:round(num)

Iround ang num na argumento sa pinakamalapit na integer.

halimbawa:round(3.14)

Resulta: 3

fn:round-half-to-even()

halimbawa:round-half-to-even(0.5)

Resulta: 0

halimbawa:round-half-to-even(1.5)

Resulta: 2

halimbawa:round-half-to-even(2.5)

Resulta: 2

Mga function tungkol sa string

Names Explanations
fn:string(arg)

Ibalik ang string na halaga ng argumento. Ang argumento ay maaaring maging numero, logical value o collection ng node.

halimbawa:string(314)

结果:"314"

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

Ayon sa serye ng code point, ibabalik ang string.

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

结果:'Thérèse'

fn:string-to-codepoints(string)

Ayon sa string, ibabalik ang serye ng code point.

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

结果:84, 104, 233, 114, 232, 115, 101

fn:codepoint-equal(comp1,comp2) Ayon sa alinlangan ng Unicode code point, kung ang halaga ng comp1 ay katumbas ng halaga ng comp2, ibabalik ang true. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint), kung hindi ibabalik ang false.
  • fn:ikumpara(comp1,comp2)
  • fn:ikumpara(comp1,comp2,collation)

Kung ang comp1 ay mas mababa sa comp2, ibabalik ang -1. Kung ang comp1 ay katumbas ng comp2, ibabalik ang 0. Kung ang comp1 ay mas malaki sa comp2, ibabalik ang 1. (Ayon sa ginamit na alinlangan ng pagkumpara).

halimbawa:ikumpara('ghi', 'ghi')

Resulta: 0

fn:kasama(string,string,...)

ibabalik ang pagsasama ng string.

halimbawa:kasama('XPath ','ay ','FUN!')

结果:'XPath ay FUN!'

fn:kasama-sa-string((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')

结果:''

  • 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(' The   XML ')

结果:'The XML'

fn:normalize-unicode() 执行 Unicode 规范化。
fn:upper-case(string)

转换 string 参数为大写。

例子:upper-case('The XML')

结果:'THE XML'

fn:lower-case(string)

转换 string 参数为小写。

例子:lower-case('The XML')

结果:'ang XML'

fn:translate(string1,string2,string3)

Palitan ang string2 sa string1 ng string3.

Halimbawa: translate('12:30','30','45')

Resulta: '12:45'

Halimbawa: translate('12:30','03','54')

Resulta: '12:45'

Halimbawa: translate('12:30','0123','abcd')

Resulta: 'bc:da'

fn:escape-uri(stringURI,esc-res)

Halimbawa: escape-uri("http://example.com/test#car", true())

Resulta: "http%3A%2F%2Fexample.com%2Ftest#car"

Halimbawa: escape-uri("http://example.com/test#car", false())

Resulta: "http://example.com/test#car"

Halimbawa: escape-uri ("http://example.com/~bébé", false())

Resulta: "http://example.com/~b%C3%A9b%C3%A9"

fn:contains(string1,string2)

Kung ang string1 ay naglalaman ng string2, ibalik ang true, kung hindi ibalik ang false.

Halimbawa: contains('XML','XM')

Bilang resulta: true

fn:starts-with(string1,string2)

Kung ang string1 ay nagsisimula sa string2, ibalik ang true, kung hindi ibalik ang false.

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

Bilang resulta: true

fn:ends-with(string1,string2)

Kung ang string1 ay nagtatapos sa string2, ibalik ang true, kung hindi ibalik ang false.

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

Resulta: false

fn:substring-before(string1,string2)

Bumalik ang sub-string na nasa harapan ng pagkakaroon ng string2 sa string1.

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

Resulta: '12'

fn:substring-after(string1,string2)

Bumalik ang sub-string na nasa likuran ng pagkakaroon ng string2 sa string1.

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

Bilang resulta: '10'

fn:matches(string,pattern)

Kung ang parameter ng string ay tumutugma sa tinukoy na pattern, ay ibabalik ang true, kung hindi, ay ibabalik ang false.

Halimbawa: matches("Merano", "ran")

Bilang resulta: true

fn:replace(string,pattern,replace)

Palitan ang tinukoy na pattern ng replace parameter at ibabalik ang resulta.

Halimbawa: replace("Bella Italia", "l", "*")

Bilang resulta: 'Be**a Ita*ia'

Halimbawa: replace("Bella Italia", "l", "")

Bilang resulta: 'Bea Itaia'

fn:tokenize(string,pattern)

Halimbawa: tokenize("XPath is fun", "\s+")

Bilang resulta: ("XPath", "is", "fun")

Function para sa anyURI.

Names Explanations
fn:resolve-uri(relative,base)  

Function tungkol sa boolean.

Names Explanations
fn:boolean(arg) Ibabalik ang boolean na may halaga ng number, string o node set.
fn:not(arg)

Una, ay napalitan ang argumento ng boolean() function sa isang boolean na halaga. Kung ang halagang boolean na ito ay false, ay ibabalik ang true, kung hindi, ay ibabalik ang true.

Halimbawa: not(true())

Resulta: false

fn:true()

Ibabalik ang boolean na may halaga na true.

Halimbawa: true()

Bilang resulta: true

fn:false()

Ibabalik ang boolean na may halaga na false.

Halimbawa: false()

Resulta: false

Function tungkol sa tagal, petsa at oras.

Function para sa pagkuha ng komponente ng petsa, oras at tagal.

Names Explanations
fn:dateTime(date,time) Ibabahagi ang argumento sa porma ng petsa at oras.
fn:years-from-duration(datetimedur) Ibabalik ang taon ng pinagmulang bilang integer, na inilalarawan sa pamantayang wika.
fn:months-from-duration(datetimedur) Ibabalik ang buwan ng pinagmulang bilang integer, na inilalarawan sa pamantayang wika.
fn:days-from-duration(datetimedur) Ibabalik ang buwan ng pinagmulang bilang integer, na inilalarawan sa pamantayang wika.
fn:hours-from-duration(datetimedur) Binabalik ang integer na bahagi ng oras ng halaga ng argumento, na inilalarawan sa standar na paraan ng wika.
fn:minutes-from-duration(datetimedur) Binabalik ang integer na bahagi ng minuto ng halaga ng argumento, na inilalarawan sa standar na paraan ng wika.
fn:seconds-from-duration(datetimedur) Binabalik ang decimal na bahagi ng minuto ng halaga ng argumento, na inilalarawan sa standar na paraan ng wika.
fn:year-from-dateTime(datetime)

Binabalik ang integer na bahagi ng taon ng lokal na halaga ng argumento.

Halimbawa: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Resulta: 2005

fn:month-from-dateTime(datetime)

Binabalik ang integer na bahagi ng buwan ng lokal na halaga ng argumento.

Halimbawa: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Resulta: 01

fn:day-from-dateTime(datetime)

Binabalik ang integer na bahagi ng araw ng lokal na halaga ng argumento.

Halimbawa: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Resulta: 10

fn:hours-from-dateTime(datetime)

Binabalik ang integer na bahagi ng oras ng lokal na halaga ng argumento.

Halimbawa: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Resulta: 12

fn:minutes-from-dateTime(datetime)

Binabalik ang integer na bahagi ng minuto ng lokal na halaga ng argumento.

Halimbawa: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))

Resulta: 30

fn:seconds-from-dateTime(datetime)

Binabalik ang decimal na bahagi ng segundo ng lokal na halaga ng argumento.

Halimbawa: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10"))

Resulta: 0

fn:timezone-from-dateTime(datetime) Ibalik ang bahagi ng timezone ng argumento kung mayroon ito.
fn:year-from-date(date)

Binabalik ang integer na naglalaro sa lokal na halaga ng argumento bilang taon.

Halimbawa: year-from-date(xs:date("2005-04-23"))

Resulta: 2005

fn:month-from-date(date)

Ibalik ang integer na naglalarawan sa bahagi ng buwan ng lokal na halaga ng argumento.

Halimbawa: month-from-date(xs:date("2005-04-23"))

Resulta: 4

fn:day-from-date(date)

Ibalik ang integer na naglalarawan sa bahagi ng araw ng lokal na halaga ng argumento.

Halimbawa: day-from-date(xs:date("2005-04-23"))

Resulta: 23

fn:timezone-from-date(date) Ibalik ang bahagi ng timezone ng argumento kung mayroon ito.
fn:hours-from-time(time)

Ibalik ang integer na naglalarawan sa bahagi ng oras ng lokal na halaga ng argumento.

Halimbawa: hours-from-time(xs:time("10:22:00"))

Resulta: 10

fn:minutes-from-time(time)

Ibalik ang integer na naglalarawan sa bahagi ng minuto ng lokal na halaga ng argumento.

Halimbawa: minutes-from-time(xs:time("10:22:00"))

Resulta: 22

fn:seconds-from-time(time)

Ibalik ang integer na naglalarawan sa bahagi ng segundo ng lokal na halaga ng argumento.

Halimbawa: seconds-from-time(xs:time("10:22:00"))

Resulta: 0

fn:timezone-from-time(time) Ibalik ang bahagi ng timezone ng argumento kung mayroon ito.
fn:adjust-dateTime-to-timezone(datetime,timezone) Kung ang parameter na timezone ay walang laman, ibabalik ang dateTime na walang timezone. Kung may laman, ibabalik ang dateTime na may timezone.
fn:adjust-date-to-timezone(date,timezone) Kung ang parameter na timezone ay walang laman, ibabalik ang date na walang timezone. Kung may laman, ibabalik ang date na may timezone.
fn:adjust-time-to-timezone(time,timezone) Kung ang parameter na timezone ay walang laman, ibabalik ang time na walang timezone. Kung may laman, ibabalik ang time na may timezone.

T mga function na may kaugnayan sa QNames

Names Explanations
fn:QName()  
fn:local-name-from-QName()  
fn:namespace-uri-from-QName()  
fn:namespace-uri-for-prefix()  
fn:in-scope-prefixes()  
fn:resolve-QName()  

Function tungkol sa node

Names Explanations
  • fn:name()
  • fn:name(nodeset)
Ibalik ang pangalan ng kasalukuyang node o unang node ng tinukoy na set ng node.
  • fn:local-name()
  • fn:local-name(nodeset)
Ibalik ang pangalan ng kasalukuyang node o unang node ng tinukoy na set ng node - walang pangalan ng namespace.
  • fn:namespace-uri()
  • fn:namespace-uri(nodeset)
Ibalik ang URI ng namespace ng kasalukuyang node o unang node ng tinukoy na set ng node.
fn:lang(lang)

Ibalik ang true kung ang wika ng kasalukuyang node ay katumbas ng tinukoy na wika.

Mga halimbawa: Lang("en") ay true para sa <p xml:lang="en">...</p>

Mga halimbawa: Lang("de") ay false para sa <p xml:lang="en">...</p>

  • fn:root()
  • fn:root(node)
Ibalik ang pinagmulang node ng punong kahoy ng puno ng node kasama ang kasalukuyang node o tinukoy na node.

Function para sa serye

Pangkalahatang function

Names Explanations
fn:index-of((item,item,...),searchitem)

Ibalik ang posisyon ng item sa serye ng item na katumbas ng argumento na searchitem.

Mga halimbawa: index-of ((15, 40, 25, 40, 10), 40)

Resulta: (2, 4)

Mga halimbawa: index-of (("a", "dog", "and", "a", "duck"), "a")

Resulta: (1, 4)

Mga halimbawa: index-of ((15, 40, 25, 40, 10), 18)

Resulta: ()

fn:remove((item,item,...),position)

Ibalik ang bagong serye na nilikha ng argumento ng item - samantalang inaalis ang proyekta na tinukoy ng argumento na position.

Mga halimbawa: remove(("ab", "cd", "ef"), 0)

Resulta: ("ab", "cd", "ef")

Mga halimbawa: remove(("ab", "cd", "ef"), 1)

Resulta: ("cd", "ef")

Mga halimbawa: remove(("ab", "cd", "ef"), 4)

Resulta: ("ab", "cd", "ef")

fn:empty(item,item,...)

Kung ang halaga ng argumento ay walang nilalaman na serye, ibabalik ang true, kung hindi ibabalik ang false.

Mga halimbawa: empty(remove(("ab", "cd"), 1))

Resulta: false

fn:exists(item,item,...)

Ibabalik ang true kung ang halaga ng parameter ay hindi walang laman na serye, kung hindi ibabalik ang false.

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

Resulta: false

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

Ibabalik ang mga magkakaibang halaga.

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

Resulta: (1, 2, 3)

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

Ibabalik ang bagong serye na binuo ng item parameter at kasama ang pinapasok sa posisyon ng insert parameter.

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

Resulta: ("gh", "ab", "cd")

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

Resulta: ("gh", "ab", "cd")

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

Resulta: ("ab", "gh", "cd")

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

Resulta: ("ab", "cd", "gh")

fn:reverse((item,item,...))

Ibabalik ang kabaligtaran ng tinukoy na item.

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

Resulta: ("ef", "cd", "ab")

Halimbawa: reverse(("ab"))

Resulta: ("ab")

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

Ibabalik ang mga item na tinukoy ng start parameter at ang haba ng serye ay tinukoy ng len parameter. Ang posisyon ng unang item ay 1.

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

Resulta: ($item3, ...)

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

Resulta: ($item2, $item3)

fn:unordered((item,item,...)) Inirerekumenda ang pagbabalik ng mga item ayon sa pagbabalik ng kasalukuyang pagpapatupad.

Tinutukoy ang function na nagsubukot ng kapasidad ng serye ng test.

Names Explanations
fn:zero-or-one(item,item,...) Kung ang param ay naglalaman ng wala o isang proyekto, ibabalik ang param, kung hindi gumawa ng error.
fn:one-or-more(item,item,...) Kung ang param ay naglalaman ng isang o higit pang proyekto, ibabalik ang param, kung hindi gumawa ng error.
fn:exactly-one(item,item,...) Kung ang param ay naglalaman ng isang proyekto, ibabalik ang param, kung hindi gumawa ng error.

Katumbas, Union, Intersection at Except

Names Explanations
fn:deep-equal(param1,param2,collation) Kung ang param1 at param2 ay katumbas ng isa't isa (deep-equal), ibabalik ang true, kung hindi ibabalik ang false.

Fn:deep-equal(param1,param2,collation)

Names Explanations
fn:count((item,item,...)) Binabalik ang bilang ng mga node.
fn:avg((arg,arg,...))

Binabalik ang average ng halaga ng argumento.

Mga halimbawa: avg((1,2,3))

Resulta: 2

fn:max((arg,arg,...))

Binabalik ang argumento na mas mataas kaysa sa ibang mga argumento.

Mga halimbawa: max((1,2,3))

Resulta: 3

Mga halimbawa: max(('a', 'k'))

Resulta: 'k'

fn:min((arg,arg,...))

Binabalik ang argumento na mas mababa kaysa sa ibang mga argumento.

Mga halimbawa: min((1,2,3))

Resulta: 1

Mga halimbawa: min(('a', 'k'))

Resulta: 'a'

fn:sum(arg,arg,...) Binabalik ng total na halaga ng bawat numero ng bawat node sa tinukoy na node collection.

Fn:sum(arg,arg,...)

Names Explanations
fn:id((string,string,...),node) Nagbibigay ng isang serye ng mga elementong node na may ID na halaga na katumbas ng halaga ng isa o higit pang mga halaga na tinukoy sa string na argumento
fn:idref((string,string,...),node) Nagbibigay ng isang serye ng mga elementong node o attribute node na may IDREF na halaga na katumbas ng halaga ng isa o higit pang mga halaga na tinukoy sa string na argumento
fn:doc(URI)  
fn:doc-available(URI) Kung ang doc() function ay nagbabalik ng dokumentong node, ibabalik ang true, kung hindi ibabalik ang false.
  • fn:collection()
  • fn:collection(string)
 

Context Functions

Names Explanations
fn:position()

Bumalik sa index na posisyon ng kasalukuyang naaapi na node.

Example: //book[position()<=3]

Result: Select the first three book elements

fn:last()

Bumalik sa bilang ng mga item sa listahan ng naaapi na node.

Example: //book[last()]

Result: Select the last book element

fn:current-dateTime() Bumalik sa kasalukuyang dateTime (kasama ang timezone).
fn:current-date() Bumalik sa kasalukuyang petsa (kasama ang timezone).
fn:current-time() Bumalik sa kasalukuyang oras (kasama ang timezone).
fn:implicit-timezone() Bumalik sa halaga ng implicit-timezone().
fn:default-collation() Bumalik sa halaga ng default-collation().
fn:static-base-uri() Bumalik sa halaga ng base-uri.