XPath, XQuery ja XSLT-funktiot
- Edellinen sivu XPath yhteenvedo
- Seuraava sivu XPath sarjaopetus
Käyttötoiminnot
Nimi | Selitys |
---|---|
fn:node-name(node) | Palauttaa parametrin solmun solmunimi. |
fn:nilled(node) | Palauttaa totuusarvon, joka kertoo, onko parametrin solmu hylätty. |
fn:data(item.item,...) | Käsittää tietueiden sarjan ja palauttaa atomaaristen arvojen sarjan. |
|
Palauttaa nykyisen solmun tai määritetyn solmun base-uri-ominaisuuden arvon. |
fn:document-uri(node) | Palauttaa määritetyn solmun document-uri-ominaisuuden arvon. |
Virhe- ja seurantafunktiot
Nimi | Selitys |
---|---|
|
esimerkki:error(fn:QName('http://example.com/test', 'err:toohigh'), 'Virhe: Hinta on liian korkea') Tulos: Palauttaa ulkoiseen käsittelyympäristöön http://example.com/test#toohigh ja merkkijonon "Virhe: Hinta on liian korkea". |
fn:trace(value,label) | Käytetään kyselyjen virheenkorjaamiseen. |
Numeroyhteyden toiminnot
Nimi | Selitys |
---|---|
fn:number(arg) |
Palauttaa parametrin arvon. Parametri voi olla totuusarvo, merkkijono tai solmuryhmä. esimerkki:number('100') Tulos: 100 |
fn:abs(num) |
Palauttaa parametrin absoluuttisen arvon. esimerkki:abs(3.14) Tulos: 3.14 esimerkki:abs(-3.14) Tulos: 3.14 |
fn:ceiling(num) |
Palauttaa suurimman kokonaisluvun, joka on suurempi kuin parametri num. esimerkki:ceiling(3.14) Tulos: 4 |
fn:floor(num) |
Palauttaa suurimman kokonaisluvun, joka ei ole suurempi kuin num parametrin. Esimerkki: floor(3.14) Tulos: 3 |
fn:round(num) |
Pyöristää num parametrin lähimmäksi kokonaislukua. Esimerkki: round(3.14) Tulos: 3 |
fn:round-half-to-even() |
Esimerkki: round-half-to-even(0.5) Tulos: 0 Esimerkki: round-half-to-even(1.5) Tulos: 2 Esimerkki: round-half-to-even(2.5) Tulos: 2 |
Merkkijonojen funktiot
Nimi | Selitys |
---|---|
fn:string(arg) |
Palauttaa parametrin merkkijonon arvon. Parametri voi olla numero, looginen arvo tai solmujoukko. Esimerkki: string(314) Tulos: "314" |
fn:codepoints-to-string(int, int, ...) |
Palauttaa merkkijonon merkkijonon. Esimerkki: codepoints-to-string(84, 104, 233, 114, 232, 115, 101) Tulos: 'Thérèse' |
fn:string-to-codepoints(merkkijono) |
Palauttaa merkkijonon merkkiarvot. Esimerkki: string-to-codepoints("Thérèse") Tulos: 84, 104, 233, 114, 232, 115, 101 |
fn:codepoint-equal(comp1, comp2) | Jos Unicode-merkkiarvon comp1 on yhtä suuri kuin comp2, palauttaa true. Muussa tapauksessa palauttaa false. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint) |
|
Jos comp1 on pienempi kuin comp2, palauttaa -1. Jos comp1 on yhtä suuri kuin comp2, palauttaa 0. Jos comp1 on suurempi kuin comp2, palauttaa 1. (Käytetyn vertailusäännön mukaan). Esimerkki: compare('ghi', 'ghi') Tulos: 0 |
fn:concat(merkkijono, merkkijono, ...) |
Palauttaa merkkijonon yhdistämisen. Esimerkki: concat('XPath ', 'on ', 'hauska!') Tulos: 'XPath on hauska!' |
fn:liitä((merkkijono, merkkijono, ...), erotin) |
Käytä sep parametria erottimena palauttaaksesi merkkijonojen yhdistelmän.]} Esimerkki: string-join(('We', 'are', 'having', 'fun!'), ' ') Tulos: ' We are having fun! ' Esimerkki: string-join(('We', 'are', 'having', 'fun!')) Tulos: 'Wearehavingfun!' Esimerkki: string-join((), 'sep') Tulos: '' |
|
Palauta start-alkaisesta sijainnista alkaen määritetyn pituuden merkkijono. Ensimmäisen merkin indeksi on 1. Jos len parametria ei ole annettu, palauta sijainnista start loppuun asti oleva alijono. Esimerkki: substring('Beatles',1,4) Tulos: 'Beat' Esimerkki: substring('Beatles',2) Tulos: 'eatles' |
|
Palauta määritetyn merkkijonon pituus. Jos ei ole string parametria, palauta nykyisen solmun merkkijonovaran pituus. Esimerkki: string-length('Beatles') Tulos: 7 |
|
Poista määritetyn merkkijonon alun ja lopun välit, ja korvaa sisäiset välilyöntijonot yhdellä välilyönnillä, sitten palauta tulos. Jos ei ole string parametria, käsittele nykyinen solmu. Esimerkki: normalize-space(' The XML ') Tulos: 'The XML' |
fn:normalize-unicode() | Suorita Unicode-regularisointi. |
fn:upper-case(string) |
Muunna string parametri isoksi kirjaimiksi. Esimerkki: upper-case('The XML') Tulos: 'THE XML' |
fn:lower-case(string) |
Muunna string parametri pieniksi kirjaimiksi. Esimerkki: lower-case('The XML') Tulos: 'the xml' |
fn:translate(string1,string2,string3) |
Korvaa string1:ssä olevan string2:n string3:llä. Esimerkki: translate('12:30','30','45') Tulos: '12:45' Esimerkki: translate('12:30','03','54') Tulos: '12:45' Esimerkki: translate('12:30','0123','abcd') Tulos: 'bc:da' |
fn:escape-uri(stringURI,esc-res) |
Esimerkki: escape-uri("http://example.com/test#car", true()) Tulos: "http%3A%2F%2Fexample.com%2Ftest#car" Esimerkki: escape-uri("http://example.com/test#car", false()) Tulos: "http://example.com/test#car" Esimerkki: escape-uri ("http://example.com/~bébé", false()) Tulos: "http://example.com/~b%C3%A9b%C3%A9" |
fn:contains(string1,string2) |
Jos string1 sisältää string2:n, palauttaa true, muuten false. Esimerkki: contains('XML','XM') Tulos: true |
fn:starts-with(string1,string2) |
Jos string1 alkaa string2:lla, palauttaa true, muuten false. Esimerkki: starts-with('XML','X') Tulos: true |
fn:ends-with(string1,string2) |
Jos string1 päätyy string2:een, palauttaa true, muuten false. Esimerkki: ends-with('XML','X') Tulos: false |
fn:substring-before(string1,string2) |
Palauttaa merkkijonon string2, joka esiintyy merkkijonossa string1 ennen sen sijaintia. Esimerkki: substring-before('12/10','/') Tulos: '12' |
fn:substring-after(string1,string2) |
Palauttaa merkkijonon string2, joka esiintyy merkkijonossa string1 sen jälkeen. Esimerkki: substring-after('12/10','/') Tulos: '10' |
fn:matches(string,pattern) |
Jos string-parametri sopii määritettyyn malliin, palautetaan true, muuten false. Esimerkki: matches("Merano", "ran") Tulos: true |
fn:replace(string,pattern,replace) |
Korvaa määritetyn mallin replace-parametrillä ja palauta tulos. Esimerkki: replace("Bella Italia", "l", "*") Tulos: 'Be**a Ita*ia' Esimerkki: replace("Bella Italia", "l", "") Tulos: 'Bea Itaia' |
fn:tokenize(string,pattern) |
Esimerkki: tokenize("XPath on fun", "\s+") Tulos: ("XPath", "on", "fun") |
AnyURI:hen liittyvät funktiot
Nimi | Selitys |
---|---|
fn:resolve-uri(relative,base) |
Totuusarvojen funktiot
Nimi | Selitys |
---|---|
fn:boolean(arg) | Palauttaa lukuja, merkkijonoja tai solmuvalikoiman totuusarvon. |
fn:not(arg) |
Ensiksi palautetaan parametri boolean()-funktiolla takaisin totuusarvoksi. Jos totuusarvo on false, palautetaan true, muuten palautetaan true. Esimerkki: not(true()) Tulos: false |
fn:true() |
Palauttaa totuusarvon true. Esimerkki: true() Tulos: true |
fn:false() |
Palauttaa totuusarvon false. Esimerkki: false() Tulos: false |
Keston, päivämäärän ja ajan funktiot
Päivämäärän, ajan ja keston komponenttien poiminnan funktio
Nimi | Selitys |
---|---|
fn:dateTime(date,time) | Muuntaa parametrin päivämääräksi ja ajaksi. |
fn:years-from-duration(datetimedur) | Palauttaa parametrin vuosi-osion kokonaisluku, käytettynä standardin mukaisella sanastolla. |
fn:months-from-duration(datetimedur) | Palauttaa parametrin kuukausi-osion kokonaisluku, käytettynä standardin mukaisella sanastolla. |
fn:days-from-duration(datetimedur) | Palauttaa parametrin päiväosion kokonaisluku, käytettynä standardin mukaisella sanastolla. |
fn:hours-from-duration(datetimedur) | Palauttaa parametrin arvon tuntiosan kokonaislukuna, standardisanastollisena. |
fn:minutes-from-duration(datetimedur) | Palauttaa parametrin arvon minuuttiosan kokonaislukuna, standardisanastollisena. |
fn:seconds-from-duration(datetimedur) | Palauttaa parametrin arvon minuuttiosan desimaalimuodossa, standardisanastollisena. |
fn:year-from-dateTime(datetime) |
Palauttaa parametrin paikallisen arvon vuosiosan kokonaislukuna. Esimerkki: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Tulos: 2005 |
fn:month-from-dateTime(datetime) |
Palauttaa parametrin paikallisen arvon kuukausiosan kokonaislukuna. Esimerkki: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Tulos: 01 |
fn:day-from-dateTime(datetime) |
Palauttaa parametrin paikallisen arvon päiväosan kokonaislukuna. Esimerkki: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Tulos: 10 |
fn:hours-from-dateTime(datetime) |
Palauttaa parametrin paikallisen arvon tuntiosan kokonaislukuna. Esimerkki: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Tulos: 12 |
fn:minutes-from-dateTime(datetime) |
Palauttaa parametrin paikallisen arvon minuuttiosan kokonaislukuna. Esimerkki: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Tulos: 30 |
fn:seconds-from-dateTime(datetime) |
Palauttaa parametrin paikallisen arvon sekuntiosan desimaalimuodossa. Esimerkki: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10")) Tulos: 0 |
fn:timezone-from-dateTime(datetime) | Palauttaa parametrin aikavyöhykeosan, jos se on olemassa. |
fn:year-from-date(date) |
Palauttaa parametrin paikallisen arvon vuoden osana. Esimerkki: year-from-date(xs:date("2005-04-23")) Tulos: 2005 |
fn:month-from-date(date) |
Palauttaa parametrin paikallisen arvon kuukauden kokonaisluvuna. Esimerkki: month-from-date(xs:date("2005-04-23")) Tulos: 4 |
fn:day-from-date(date) |
Palauttaa parametrin paikallisen arvon päivän kokonaisluvuna. Esimerkki: day-from-date(xs:date("2005-04-23")) Tulos: 23 |
fn:timezone-from-date(date) | Palauttaa parametrin aikavyöhykeosan, jos se on olemassa. |
fn:hours-from-time(time) |
Palauttaa parametrin paikallisen arvon tuntiosan kokonaisluvuna. Esimerkki: hours-from-time(xs:time("10:22:00")) Tulos: 10 |
fn:minutes-from-time(time) |
Palauttaa parametrin paikallisen arvon minuuttiosan kokonaisluvuna. Esimerkki: minutes-from-time(xs:time("10:22:00")) Tulos: 22 |
fn:seconds-from-time(time) |
Palauttaa parametrin paikallisen arvon sekuntiosan kokonaisluvuna. Esimerkki: seconds-from-time(xs:time("10:22:00")) Tulos: 0 |
fn:timezone-from-time(time) | Palauttaa parametrin aikavyöhykeosan, jos se on olemassa. |
fn:adjust-dateTime-to-timezone(datetime,timezone) | Jos timezone-parametri on tyhjä, palautetaan dateTime ilman aikavyöhykettä. Muuten palautetaan aikavyöhykkeellä varustettu dateTime. |
fn:adjust-date-to-timezone(date,timezone) | Jos timezone-parametri on tyhjä, palautetaan päivämäärä ilman aikavyöhykettä. Muuten palautetaan aikavyöhykkeellä varustettu päivämäärä. |
fn:adjust-time-to-timezone(time,timezone) | Jos timezone-parametri on tyhjä, palautetaan aika ilman aikavyöhykettä. Muuten palautetaan ajalla varustettu aika. |
Funktiot, jotka liittyvät QNamesiin
Nimi | Selitys |
---|---|
fn:QName() | |
fn:local-name-from-QName() | |
fn:namespace-uri-from-QName() | |
fn:namespace-uri-for-prefix() | |
fn:in-scope-prefixes() | |
fn:resolve-QName() |
Solmuun liittyvät funktiot
Nimi | Selitys |
---|---|
|
Palauttaa nykyisen solmun nimen tai määritetyn solmun joukon ensimmäisen solmun nimen. |
|
Palauttaa nykyisen solmun nimen tai määritetyn solmun joukon ensimmäisen solmun nimen ilman nimenmurteet. |
|
Palauttaa nykyisen solmun tai määritetyn solmun joukon ensimmäisen solmun nimenmurte URI:n. |
fn:lang(lang) |
Jos nykyisen solmun kieli vastaa määritettyä kieltä, palauttaa true. Esimerkki: Lang("en") on true for <p xml:lang="en">...</p> Esimerkki: Lang("de") on false for <p xml:lang="en">...</p> |
|
Palauttaa nykyisen solmun tai määritetyn solmun solmunjuuren solmun. Yleensä se on asiakirjasolmu. |
Sarjoihin liittyvät funktiot
Yleinen funktio
Nimi | Selitys |
---|---|
fn:index-of((item,item,...),searchitem) |
Palauttaa sijainnin, jossa hakuitem-parametrin määrittämä arvo on kohteiden sarjassa. Esimerkki: index-of ((15, 40, 25, 40, 10), 40) Tulos: (2, 4) Esimerkki: index-of (("a", "dog", "and", "a", "duck"), "a") Tulos (1, 4) Esimerkki: index-of ((15, 40, 25, 40, 10), 18) Tulos: () |
fn:remove((item,item,...),position) |
Palauttaa uuden sarjan, joka on rakennettu item-parametrin avulla - poistaa position-parametrin määrittämän kohteen. Esimerkki: remove(("ab", "cd", "ef"), 0) Tulos: ("ab", "cd", "ef") Esimerkki: remove(("ab", "cd", "ef"), 1) Tulos: ("cd", "ef") Esimerkki: remove(("ab", "cd", "ef"), 4) Tulos: ("ab", "cd", "ef") |
fn:empty(item,item,...) |
Jos parametria on tyhjä jono, palauttaa true, muuten false. Esimerkki: empty(remove(("ab", "cd"), 1)) Tulos: false |
fn:exists(item,item,...) |
Jos parametrin arvo ei ole tyhjä sarja, palauttaa true, muuten palauttaa false. Esimerkki: exists(remove(("ab"), 1)) Tulos: false |
fn:distinct-values((item,item,...),collation) |
Palauttaa ainutlaatuiset arvot. Esimerkki: distinct-values((1, 2, 3, 1, 2)) Tulos: (1, 2, 3) |
fn:insert-before((item,item,...),pos,inserts) |
Palauttaa uuden sarjan, joka on rakennettu item-parametrin avulla - samalla lisätään inserts-parametrin arvo pos-parametrin määrittämään sijaintiin. Esimerkki: insert-before(("ab", "cd"), 0, "gh") Tulos: ("gh", "ab", "cd") Esimerkki: insert-before(("ab", "cd"), 1, "gh") Tulos: ("gh", "ab", "cd") Esimerkki: insert-before(("ab", "cd"), 2, "gh") Tulos: ("ab", "gh", "cd") Esimerkki: insert-before(("ab", "cd"), 5, "gh") Tulos: ("ab", "cd", "gh") |
fn:reverse((item,item,...)) |
Palauttaa määritetyn kohteen käänteisen järjestyksen. Esimerkki: reverse(("ab", "cd", "ef")) Tulos: ("ef", "cd", "ab") Esimerkki: reverse(("ab")) Tulos: ("ab") |
fn:subsequence((item,item,...),start,len) |
Palauttaa start-parametrin määrittämän sijainnin kohteiden sarjan, jonka pituus määritetään len-parametrilla. Ensimmäisen kohteen sijainti on 1. Esimerkki: subsequence(($item1, $item2, $item3,...), 3) Tulos: ($item3, ...) Esimerkki: subsequence(($item1, $item2, $item3, ...), 2, 2) Tulos: ($item2, $item3) |
fn:unordered((item,item,...)) | Palauttaa kohteet määritetyn toteutuksen järjestyksessä. |
Testitulon kapasiteetin funktio
Nimi | Selitys |
---|---|
fn:zero-or-one(item,item,...) | Jos parametrit sisältävät nolla tai yhden kohteen, palauttaa parametrit, muuten luo virheen. |
fn:one-or-more(item,item,...) | Jos parametrit sisältävät yhden tai useamman kohteen, palauttaa parametrit, muuten luo virheen. |
fn:exactly-one(item,item,...) | Jos parametrit sisältävät yhden kohteen, palauttaa parametrit, muuten luo virheen. |
Yhtä, Union, Intersection ja Except
Nimi | Selitys |
---|---|
fn:deep-equal(param1,param2,collation) | Jos param1 ja param2 ovat yhtä suuria (deep-equal), palauttaa true, muuten palauttaa false. |
Yhteismääräfunktion
Nimi | Selitys |
---|---|
fn:count((item,item,...)) | Palauttaa solmujen määrän. |
fn:avg((arg,arg,...)) |
Palauttaa parametrien arvojen keskiarvon. Esimerkki: avg((1,2,3)) Tulos: 2 |
fn:max((arg,arg,...)) |
Palauttaa arvon, joka on suurempi kuin muut parametrit. Esimerkki: max((1,2,3)) Tulos: 3 Esimerkki: max(('a', 'k')) Tulos: 'k' |
fn:min((arg,arg,...)) |
Palauttaa arvon, joka on pienempi kuin muut parametrit. Esimerkki: min((1,2,3)) Tulos: 1 Esimerkki: min(('a', 'k')) Tulos: 'a' |
fn:sum(arg,arg,...) | Palauttaa määritetyn solmun joukon jokaisen solmun arvojen summan. |
Sarjan generointifunktio
Nimi | Selitys |
---|---|
fn:id((merkkijono,merkkijono,...),node) | Palauttaa sarjan elementti-opeleitä, joilla on ID-arvo, joka on yhtä kuin yhdellä tai useammalla merkkijonoversiossa annetusta arvosta |
fn:idref((merkkijono,merkkijono,...),node) | Palauttaa sarjan elementti- tai attribuutinopeleitä, joilla on IDREF-arvo, joka on yhtä kuin yhdellä tai useammalla merkkijonoversiossa annetusta arvosta |
fn:doc(URI) | |
fn:doc-available(URI) | Jos doc()-funktio palauttaa dokumenttisolmun, palautetaan true, muuten false. |
|
Kontekstifunktiot
Nimi | Selitys |
---|---|
fn:position() |
Palauta käsiteltävänä olevan solmun index-sijainti. Esimerkki: //book[position()<=3] Tulos: Valitaan ensimmäiset kolme book-elementtiä |
fn:last() |
Palauta käsiteltävänä olevien solmujen luettelon kohteiden lukumäärä. Esimerkki: //book[last()] Tulos: Valitaan viimeinen book-elementti |
fn:current-dateTime() | Palauta nykyinen dateTime (aikavyöhykkeellä). |
fn:current-date() | Palauta nykyinen päivämäärä (aikavyöhykkeellä). |
fn:current-time() | Palauta nykyinen aika (aikavyöhykkeellä). |
fn:implicit-timezone() | Palauta implisiittisen aikavyöhykkeen arvo. |
fn:default-collation() | Palauta oletusvertailun arvo. |
fn:static-base-uri() | Palauta base-uri arvo. |
- Edellinen sivu XPath yhteenvedo
- Seuraava sivu XPath sarjaopetus