XPath, XQuery och XSLT-funktioner
- Föregående sida Sammanfattning av XPath
- Nästa sida XPath Tutorial
åtkomstfunktioner
Namn | Förklaring |
---|---|
fn:node-name(node) | returnerar nodnamnet för argumentnoden. |
fn:nilled(node) | returnerar ett booleskt värde som indikerar om argumentnoden nekas. |
fn:data(item.item,...) | tar emot en sekvens av objekt och returnerar en sekvens av atomvärden. |
|
returnerar värdet av base-uri-attributet för den aktuella noden eller den angivna noden. |
fn:document-uri(node) | returnerar värdet av document-uri-attributet för den angivna noden. |
fel- och spårningsfunktioner
Namn | Förklaring |
---|---|
|
exempel:error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high') resultat: returnerar till den externa behandlingsmiljön http://example.com/test#toohigh samt strängen "Error: Price is too high". |
fn:trace(value,label) | används för att debugga frågor. |
funktioner för numeriska värden
Namn | Förklaring |
---|---|
fn:number(arg) |
returnerar det numeriska värdet av argumentet. Argumentet kan vara ett booleskt värde, en sträng eller en nodsamling. exempel:number('100') resultat: 100 |
fn:abs(num) |
returnerar det absoluta värdet av argumentet. exempel:abs(3.14) resultat: 3.14 exempel:abs(-3.14) resultat: 3.14 |
fn:ceiling(num) |
returnerar det minsta heltal som är större än num-argumentet. exempel:ceiling(3.14) Resultat: 4 |
fn:floor(num) |
Returnerar det största heltalet som är mindre än eller lika med num-argumentet. Exempel: floor(3.14) Resultat: 3 |
fn:round(num) |
Rundar num-argumentet till närmaste heltal. Exempel: round(3.14) Resultat: 3 |
fn:round-half-to-even() |
Exempel: round-half-to-even(0.5) Resultat: 0 Exempel: round-half-to-even(1.5) Resultat: 2 Exempel: round-half-to-even(2.5) Resultat: 2 |
Funktioner för strängar
Namn | Förklaring |
---|---|
fn:string(arg) |
Returnerar den strängvärde som är förknippat med argumentet. Argumentet kan vara ett nummer, ett logiskt värde eller en nodsamling. Exempel: string(314) Resultat: "314" |
fn:codepoints-to-string(int,int,...) |
Returnerar strängen baserat på en sekvens av teckenpunkter. Exempel: codepoints-to-string(84, 104, 233, 114, 232, 115, 101) Resultat: 'Thérèse' |
fn:string-to-codepoints(string) |
Returnerar en sekvens av teckenpunkter baserat på strängen. Exempel: string-to-codepoints("Thérèse") Resultat: 84, 104, 233, 114, 232, 115, 101 |
fn:codepoint-equal(comp1,comp2) | Enligt Unicode-teckenpunktsjämförelse returneras true om värdet för comp1 är lika med värdet för comp2. Annars returneras false. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint) |
|
Om comp1 är mindre än comp2, returneras -1. Om comp1 är lika med comp2, returneras 0. Om comp1 är större än comp2, returneras 1. (Baserat på den använda jämförelseregeln). Exempel: compare('ghi', 'ghi') Resultat: 0 |
fn:concat(string,string,...) |
Returnerar sammansättning av strängar. Exempel: concat('XPath ','är ','kul!') Resultat: 'XPath är kul!' |
fn:join((string,string,...),sep) |
Använd sep-parametret som separator för att returnera sammansatta strängar från string-argumentet. Exempel: string-join(('We', 'are', 'having', 'fun!'), ' ') Resultat: ' We are having fun! ' Exempel: string-join(('We', 'are', 'having', 'fun!')) Resultat: 'Wearehavingfun!' Exempel: string-join((), 'sep') Resultat: '' |
|
Returnerar en understräng av angiven längd som börjar vid start-positionen. Första tecknets index är 1. Om len-parametret utelämnas, returneras understrängen från position start till strängens slut. Exempel: substring('Beatles',1,4) Resultat: 'Beat' Exempel: substring('Beatles',2) Resultat: 'eatles' |
|
Returnerar längden på den angivna strängen. Om det inte finns ett string-argument, returneras längden på den aktuella nodens strängvärde. Exempel: string-length('Beatles') Resultat: 7 |
|
Tar bort angiven strängs början och slut, och ersätter alla inre blankstegsserier med en, och returnerar resultatet. Om det inte finns ett string-argument, behandlas den aktuella noden. Exempel: normalize-space(' The XML ') Resultat: 'The XML' |
fn:normalize-unicode() | Upprättar Unicode-standardisering. |
fn:upper-case(string) |
Konverterar string-argumentet till stora bokstäver. Exempel: upper-case('The XML') Resultat: 'THE XML' |
fn:lower-case(string) |
Konverterar string-argumentet till små bokstäver. Exempel: lower-case('The XML') Resultat: 'the xml' |
fn:translate(string1,string2,string3) |
Replace string2 in string1 with string3. Example: translate('12:30','30','45') Result: '12:45' Example: translate('12:30','03','54') Result: '12:45' Example: translate('12:30','0123','abcd') Result: 'bc:da' |
fn:escape-uri(stringURI,esc-res) |
Example: escape-uri("http://example.com/test#car", true()) Result: "http%3A%2F%2Fexample.com%2Ftest#car" Example: escape-uri("http://example.com/test#car", false()) Result: "http://example.com/test#car" Example: escape-uri ("http://example.com/~bébé", false()) Result: "http://example.com/~b%C3%A9b%C3%A9" |
fn:contains(string1,string2) |
If string1 contains string2, return true, otherwise return false. Example: contains('XML','XM') Resultat: true |
fn:starts-with(string1,string2) |
If string1 starts with string2, return true, otherwise return false. Example: starts-with('XML','X') Resultat: true |
fn:ends-with(string1,string2) |
If string1 ends with string2, return true, otherwise return false. Example: ends-with('XML','X') Resultat: false |
fn:substring-before(string1,string2) |
Return the substring before the occurrence of string2 in string1. Example: substring-before('12/10','/') Result: '12' |
fn:substring-after(string1,string2) |
Return the substring after the occurrence of string2 in string1. Exempel: substring-after('12/10','/') Resultat: '10' |
fn:matches(string,pattern) |
Om string-argumentet matchar det angivna mönstret returneras true, annars returneras false. Exempel: matches("Merano", "ran") Resultat: true |
fn:replace(string,pattern,replace) |
Ersätt den angivna mönstret med replace-argumentet och returnera resultatet. Exempel: replace("Bella Italia", "l", "*") Resultat: 'Be**a Ita*ia' Exempel: replace("Bella Italia", "l", "") Resultat: 'Bea Itaia' |
fn:tokenize(string,pattern) |
Exempel: tokenize("XPath is fun", "\s+") Resultat: ("XPath", "is", "fun") |
Funktioner för anyURI
Namn | Förklaring |
---|---|
fn:resolve-uri(relative,base) |
Funktioner för booleska värden
Namn | Förklaring |
---|---|
fn:boolean(arg) | Returnerar booleska värdet för ett tal, en sträng eller en nodkollektion. |
fn:not(arg) |
Först återställer boolean() -funktionen parametern till en boolesk värde. Om det booleska värdet är false, returneras true, annars returneras true. Exempel: not(true()) Resultat: false |
fn:true() |
Returnerar booleska värdet true. Exempel: true() Resultat: true |
fn:false() |
Returnerar booleska värdet false. Exempel: false() Resultat: false |
Funktioner för varaktighet, datum och tid
Funktioner för att extrahera komponenter av datum, tid och varaktighet
Namn | Förklaring |
---|---|
fn:dateTime(date,time) | Konverterar parametern till datum och tid. |
fn:years-from-duration(datetimedur) | Returnar det årliga värde av parametervärdet som ett heltal, representerat med standardvokabulär. |
fn:months-from-duration(datetimedur) | Returnar det månadliga värde av parametervärdet som ett heltal, representerat med standardvokabulär. |
fn:days-from-duration(datetimedur) | Returnar det dagliga värde av parametervärdet som ett heltal, representerat med standardvokabulär. |
fn:hours-from-duration(datetimedur) | Återger värdet för argumentet som ett heltal som representerar timmarna, uttryckt i standardlexikografisk notation. |
fn:minutes-from-duration(datetimedur) | Återger värdet för argumentet som ett heltal som representerar minuterna, uttryckt i standardlexikografisk notation. |
fn:seconds-from-duration(datetimedur) | Återger värdet för argumentet som ett decimaltal som representerar minuterna, uttryckt i standardlexikografisk notation. |
fn:year-from-dateTime(datetime) |
Återger det lokala värdet för argumentet som ett heltal som representerar åren. Exempel: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultat: 2005 |
fn:month-from-dateTime(datetime) |
Återger det lokala värdet för argumentet som ett heltal som representerar månaderna. Exempel: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultat: 01 |
fn:day-from-dateTime(datetime) |
Återger det lokala värdet för argumentet som ett heltal som representerar dagarna. Exempel: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultat: 10 |
fn:hours-from-dateTime(datetime) |
Återger det lokala värdet för argumentet som ett heltal som representerar timmarna. Exempel: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultat: 12 |
fn:minutes-from-dateTime(datetime) |
Återger det lokala värdet för argumentet som ett heltal som representerar minuterna. Exempel: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultat: 30 |
fn:seconds-from-dateTime(datetime) |
Återger det lokala värdet för argumentet som ett decimaltal som representerar sekunderna. Exempel: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10")) Resultat: 0 |
fn:timezone-from-dateTime(datetime) | Returnerar tidszonsdelen av argumentet om den finns. |
fn:year-from-date(date) |
Återger det lokala värdet för argumentet som ett heltal som representerar året. Exempel: year-from-date(xs:date("2005-04-23")) Resultat: 2005 |
fn:month-from-date(date) |
Returnerar det heltal som representerar månaden i det lokala värdet av argumentet. Exempel: month-from-date(xs:date("2005-04-23")) Resultat: 4 |
fn:day-from-date(date) |
Returnerar det heltal som representerar dagen i det lokala värdet av argumentet. Exempel: day-from-date(xs:date("2005-04-23")) Resultat: 23 |
fn:timezone-from-date(date) | Returnerar tidszonsdelen av argumentet om den finns. |
fn:hours-from-time(time) |
Returnerar det heltal som representerar timdelen i det lokala värdet av argumentet. Exempel: hours-from-time(xs:time("10:22:00")) Resultat: 10 |
fn:minutes-from-time(time) |
Returnerar det heltal som representerar minutdelen i det lokala värdet av argumentet. Exempel: minutes-from-time(xs:time("10:22:00")) Resultat: 22 |
fn:seconds-from-time(time) |
Returnerar det heltal som representerar sekunddelen i det lokala värdet av argumentet. Exempel: seconds-from-time(xs:time("10:22:00")) Resultat: 0 |
fn:timezone-from-time(time) | Returnerar tidszonsdelen av argumentet om den finns. |
fn:adjust-dateTime-to-timezone(datetime,timezone) | Om timezone-argumentet är tomt, returneras dateTime utan tidszon. Annars returneras dateTime med tidszon. |
fn:adjust-date-to-timezone(date,timezone) | Om timezone-argumentet är tomt, returneras datum utan tidszon. Annars returneras datum med tidszon. |
fn:adjust-time-to-timezone(time,timezone) | Om timezone-argumentet är tomt, returneras tid utan tidszon. Annars returneras tid med tidszon. |
Funktioner relaterade till QNames
Namn | Förklaring |
---|---|
fn:QName() | |
fn:local-name-from-QName() | |
fn:namespace-uri-from-QName() | |
fn:namespace-uri-for-prefix() | |
fn:in-scope-prefixes() | |
fn:resolve-QName() |
Funktioner för noder
Namn | Förklaring |
---|---|
|
Returnerar namnet på den aktuella noden eller den första noden i den specificerade nodkollamationen. |
|
Returnerar namnet på den aktuella noden eller den första noden i den specificerade nodkollamationen - utan namnrymdsprefix. |
|
Returnerar namnrymds-URI för den aktuella noden eller den första noden i den specificerade nodkollamationen. |
fn:lang(lang) |
Om språket för den aktuella noden matchar det specificerade språket returneras true. Exempel: Lang("en") är sant för <p xml:lang="en">...</p> Exempel: Lang("de") är falskt för <p xml:lang="en">...</p> |
|
Returnerar roten för nodträdet som tillhör den aktuella noden eller den specificerade noden. Detta är vanligtvis dokumentnoden. |
Funktioner för sekvenser
Allmänna funktioner
Namn | Förklaring |
---|---|
fn:index-of((item,item,...),searchitem) |
Returnerar positionen för element i projektsekvensen som är lika med searchitem-argumentet. Exempel: index-of ((15, 40, 25, 40, 10), 40) Resultat: (2, 4) Exempel: index-of (("a", "dog", "and", "a", "duck"), "a") Resultat (1, 4) Exempel: index-of ((15, 40, 25, 40, 10), 18) Resultat: () |
fn:remove((item,item,...),position) |
Returnerar en ny sekvens konstruerad av item-argumentet - och tar bort det projekt som specificeras av position-argumentet. Exempel: remove(("ab", "cd", "ef"), 0) Resultat: ("ab", "cd", "ef") Exempel: remove(("ab", "cd", "ef"), 1) Resultat: ("cd", "ef") Exempel: remove(("ab", "cd", "ef"), 4) Resultat: ("ab", "cd", "ef") |
fn:empty(item,item,...) |
Om parametervärdet är en tom sekvens returneras true, annars returneras false. Exempel: empty(remove(("ab", "cd"), 1)) Resultat: false |
fn:exists(item,item,...) |
Om parametervärdet inte är en tom sekvens returneras true, annars returneras false. Exempel: exists(remove(("ab"), 1)) Resultat: false |
fn:distinct-values((item,item,...),collation) |
Returnerar unika värden. Exempel: distinct-values((1, 2, 3, 1, 2)) Resultat: (1, 2, 3) |
fn:insert-before((item,item,...),pos,inserts) |
Returnerar en ny sekvens konstruerad av item-argumentet, och värdet vid pos-argumentet specificerar platsen där inserts-argumentets värde ska infogas. Exempel: insert-before(("ab", "cd"), 0, "gh") Resultat: ("gh", "ab", "cd") Exempel: insert-before(("ab", "cd"), 1, "gh") Resultat: ("gh", "ab", "cd") Exempel: insert-before(("ab", "cd"), 2, "gh") Resultat: ("ab", "gh", "cd") Exempel: insert-before(("ab", "cd"), 5, "gh") Resultat: ("ab", "cd", "gh") |
fn:reverse((item,item,...)) |
Returnerar den omvända ordningen av de specificerade projekten. Exempel: reverse(("ab", "cd", "ef")) Resultat: ("ef", "cd", "ab") Exempel: reverse(("ab")) Resultat: ("ab") |
fn:subsequence((item,item,...),start,len) |
Returnerar en projektsekvens som specificerats av start-argumentet, och längden på sekvensen specificeras av len-argumentet. Positionen för den första projektet är 1. Exempel: subsequence(($item1, $item2, $item3,...), 3) Resultat: ($item3, ...) Exempel: subsequence(($item1, $item2, $item3, ...), 2, 2) Resultat: ($item2, $item3) |
fn:unordered((item,item,...)) | Returnerar projekt enligt den ordning som bestäms av implementeringen. |
Testfunktionen för seriekapacitet
Namn | Förklaring |
---|---|
fn:zero-or-one(item,item,...) | Om argumentet innehåller noll eller ett projekt, returneras argumentet, annars genereras ett fel. |
fn:one-or-more(item,item,...) | Om argumentet innehåller en eller flera projekt, returneras argumentet, annars genereras ett fel. |
fn:exactly-one(item,item,...) | Om argumentet innehåller ett projekt, returneras argumentet, annars genereras ett fel. |
Lika, Union, Intersection och Except
Namn | Förklaring |
---|---|
fn:deep-equal(param1,param2,collation) | Om param1 och param2 är lika med varandra (deep-equal), returneras true, annars returneras false. |
Kombinationsfunktion
Namn | Förklaring |
---|---|
fn:count((item,item,...)) | Returnerar antalet noder. |
fn:avg((arg,arg,...)) |
Returnerar det genomsnittliga värdet av argumenten. Exempel: avg((1,2,3)) Resultat: 2 |
fn:max((arg,arg,...)) |
Returnerar argument som är större än andra argument. Exempel: max((1,2,3)) Resultat: 3 Exempel: max(('a', 'k')) Resultat: 'k' |
fn:min((arg,arg,...)) |
Returnerar argument som är mindre än andra argument. Exempel: min((1,2,3)) Resultat: 1 Exempel: min(('a', 'k')) Resultat: 'a' |
fn:sum(arg,arg,...) | Returnerar summan av värdena för varje nod i den angivna nodgruppen. |
Funktion för att generera sekvens
Namn | Förklaring |
---|---|
fn:id((string,string,...),node) | Returnerar en sekvens av elementnoder som har ett ID-värde som är lika med värdet av en eller flera av de värden som anges i strängargumentet |
fn:idref((string,string,...),node) | Returnerar en sekvens av element- eller attributnoder som har en IDREF-värde som är lika med värdet av en eller flera av de värden som anges i strängargumentet |
fn:doc(URI) | |
fn:doc-available(URI) | Om doc()-funktionen returnerar en dokumentnod, returneras true, annars returneras false. |
|
Kontextfunktioner
Namn | Förklaring |
---|---|
fn:position() |
Returnera index-positionen för den aktuella noden som behandlas. Exempel: //book[position()<=3] Resultat: Välj de första tre book-elementen |
fn:last() |
Returnera antalet objekt i den behandlade nodlistan. Exempel: //book[last()] Resultat: Välj den sista book-elementet |
fn:current-dateTime() | Returnera den aktuella dateTime (med tidszon). |
fn:current-date() | Returnera den aktuella datumet (med tidszon). |
fn:current-time() | Returnera den aktuella tiden (med tidszon). |
fn:implicit-timezone() | Returnera värdet av den implicita tidszonen. |
fn:default-collation() | Returnera värdet av den default kollation. |
fn:static-base-uri() | Returnera värdet av base-uri. |
- Föregående sida Sammanfattning av XPath
- Nästa sida XPath Tutorial