XSLT, XPath en XQuery functies
- Vorige pagina XSLT-elementen
- Volgende pagina XML Handleiding
XSLT 2.0, XPath 2.0, and XQuery 1.0 share the same function library.
Function Reference Manual
The default prefix of the function namespace is:fn:
The URI of the function namespace is:http://www.w3.org/2005/xpath-functions
Tip:Typically used fn:
prefix to call the function, for example fn:string()
However, due to fn:
It is the default namespace prefix, so the prefix is not needed when calling the function.
Access functions
Naam | Verklaring |
---|---|
fn:node-name(node) | Returns the node name of the argument node. |
fn:nilled(node) | Returns a boolean value indicating whether the argument node is rejected. |
fn:data(item.item,...) | Accepts an item sequence and returns a sequence of atomic values. |
|
Returns the value of the base-uri attribute of the current node or the specified node. |
fn:document-uri(node) | Returns the value of the document-uri attribute of the specified node. |
Error and trace functions
Naam | Verklaring |
---|---|
|
Example: error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high') Result: Returns http://example.com/test#toohigh and the string "Error: Price is too high" to the external processing environment. |
fn:trace(value,label) | Used for debugging queries. |
Functions related to numbers
Naam | Verklaring |
---|---|
fn:number(arg) |
Returns the numerical value of the argument. The argument can be a boolean value, a string, or a node set. Voorbeeld: number('100') Resultaat: 100 |
fn:abs(num) |
Retourneert de absolute waarde van het argument. Voorbeeld: abs(3.14) Resultaat: 3.14 Voorbeeld: abs(-3.14) Resultaat: 3.14 |
fn:ceiling(num) |
Retourneert het kleinste gehele getal dat groter is dan het num parameter. Voorbeeld: ceiling(3.14) Resultaat: 4 |
fn:floor(num) |
Retourneert het grootste gehele getal dat niet groter is dan het num parameter. Voorbeeld: floor(3.14) Resultaat: 3 |
fn:round(num) |
Rondt het num parameter af naar het dichtstbijzijnde gehele getal. Voorbeeld: round(3.14) Resultaat: 3 |
fn:round-half-to-even() |
Voorbeeld: round-half-to-even(0.5) Resultaat: 0 Voorbeeld: round-half-to-even(1.5) Resultaat: 2 Voorbeeld: round-half-to-even(2.5) Resultaat: 2 |
Over stringfuncties
Naam | Verklaring |
---|---|
fn:string(arg) |
Retourneert de stringwaarde van het argument. Het argument kan een getal, een logisch waarde of een knooppuntenset zijn. Voorbeeld: string(314) Resultaat: "314" |
fn:codepoints-to-string(int,int,...) |
Op basis van een codepoint reeks wordt een string geretourneerd. Voorbeeld: codepoints-to-string(84, 104, 233, 114, 232, 115, 101) Resultaat: 'Thérèse' |
fn:string-to-codepoints(string) |
Op basis van de string wordt een codepoint reeks geretourneerd. Voorbeeld: string-to-codepoints("Thérèse") Resultaat: 84, 104, 233, 114, 232, 115, 101 |
fn:codepoint-equal(comp1,comp2) | Op basis van de Unicode codepoint vergelijking, wordt true geretourneerd als de waarde van comp1 gelijk is aan de waarde van comp2. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint), anders wordt false geretourneerd. |
|
Als comp1 kleiner is dan comp2, wordt -1 geretourneerd. Als comp1 gelijk is aan comp2, wordt 0 geretourneerd. Als comp1 groter is dan comp2, wordt 1 geretourneerd (afhankelijk van het gebruikte vergelijkingsregels). Voorbeeld: compare('ghi', 'ghi') Resultaat: 0 |
fn:concat(string,string,...) |
Geef de samenvoeging van strings terug. Voorbeeld: concat('XPath ','is ','FUN!') Resultaat: 'XPath is FUN!' |
fn:string-join((string,string,...),sep) |
Gebruik de sep parameter als scheidingsteken om de samengevoegde string van de string parameter terug te geven. Voorbeeld: string-join(('We', 'are', 'having', 'fun!'), ' ') Resultaat: ' We are having fun! ' Voorbeeld: string-join(('We', 'are', 'having', 'fun!')) Resultaat: 'Wearehavingfun!' Voorbeeld: string-join((), 'sep') Resultaat: '' |
|
Geef een substring van de opgegeven lengte terug die begint bij de startpositie. De index van de eerste character is 1. Als de len parameter wordt weggelaten, wordt de substring van de positie start tot het einde van de string geretourneerd. Voorbeeld: substring('Beatles',1,4) Resultaat: 'Beat' Voorbeeld: substring('Beatles',2) Resultaat: 'eatles' |
|
Geef de lengte van de opgegeven string terug. Als er geen string parameter is, wordt de lengte van de stringwaarde van de huidige knoop geretourneerd. Voorbeeld: string-length('Beatles') Resultaat: 7 |
|
Verwijder de witruimte aan het begin en einde van de opgegeven string, vervang alle interne reeksen van witruimte door één en geef het resultaat terug. Als er geen string parameter is, wordt de huidige knoop verwerkt. Voorbeeld: normalize-space(' The XML ') Resultaat: 'The XML' |
fn:normalize-unicode() | Voer Unicode normalisatie uit. |
fn:upper-case(string) |
Converteer de string parameter naar hoofdletters. Voorbeeld: upper-case('The XML') Result: 'THE XML' |
fn:lower-case(string) |
Convert the string parameter to lowercase. Example: lower-case('The XML') Result: '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') Resultaat: true |
fn:starts-with(string1,string2) |
If string1 starts with string2, return true, otherwise return false. Example: starts-with('XML','X') Resultaat: true |
fn:ends-with(string1,string2) |
If string1 ends with string2, return true, otherwise return false. Example: ends-with('XML','X') Resultaat: false |
fn:substring-before(string1,string2) |
Return the substring before the occurrence of string2 in string1. Voorbeeld: substring-before('12/10','/') Resultaat: '12' |
fn:substring-after(string1,string2) |
Retourneer de substring die na string2 in string1 voorkomt. Voorbeeld: substring-after('12/10','/') Resultaat: '10' |
fn:matches(string,pattern) |
Retourneer true als de string parameter overeenkomt met het opgegeven patroon, anders retourneer false. Voorbeeld: matches("Merano", "ran") Resultaat: true |
fn:replace(string,pattern,replace) |
Vervang de opgegeven patroon door de replace parameter en retourneer het resultaat. Voorbeeld: replace("Bella Italia", "l", "*") Resultaat: 'Be**a Ita*ia' Voorbeeld: replace("Bella Italia", "l", "") Resultaat: 'Bea Itaia' |
fn:tokenize(string,pattern) |
Voorbeeld: tokenize("XPath is fun", "\s+") Resultaat: ("XPath", "is", "fun") |
Functies voor anyURI.
Naam | Verklaring |
---|---|
fn:resolve-uri(relative,base) |
Functies over booleaanse waarden.
Naam | Verklaring |
---|---|
fn:boolean(arg) | Retourneer de booleaanse waarde van een getal, een string of een node-set. |
fn:not(arg) |
Maak eerst de parameter hersteld tot een booleaanse waarde met de boolean() functie. Retourneer true als de booleaanse waarde false is, anders retourneer true. Voorbeeld: not(true()) Resultaat: false |
fn:true() |
Retourneer de booleaanse waarde true. Voorbeeld: true() Resultaat: true |
fn:false() |
Retourneer de booleaanse waarde false. Voorbeeld: false() Resultaat: false |
Functies voor duur, datum en tijd.
Functie voor het extraheren van componenten van datum, tijd en duur.
Naam | Verklaring |
---|---|
fn:dateTime(date,time) | Converteer de parameter naar een datum en tijd. |
fn:years-from-duration(datetimedur) | Retourneer het integraal van het jaargezel van de parameterwaarde, weergegeven in de standaardwoordenlijst. |
fn:months-from-duration(datetimedur) | Retourneer het integraal van het maanddeel van de parameterwaarde, weergegeven in de standaardwoordenlijst. |
fn:days-from-duration(datetimedur) | Retourneert het gehele getal van de dagen van de waarde van het argument, weergegeven in standaard woordenschat. |
fn:hours-from-duration(datetimedur) | Retourneert het gehele getal van de uren van de waarde van het argument, weergegeven in standaard woordenschat. |
fn:minutes-from-duration(datetimedur) | Retourneert het gehele getal van de minuten van de waarde van het argument, weergegeven in standaard woordenschat. |
fn:seconds-from-duration(datetimedur) | Retourneert het decimale getal van de minuten van de waarde van het argument, weergegeven in standaard woordenschat. |
fn:year-from-dateTime(datetime) |
Retourneert het gehele getal van de jaren van de lokale waarde van het argument. Voorbeeld: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultaat: 2005 |
fn:month-from-dateTime(datetime) |
Retourneert het gehele getal van de maanden van de lokale waarde van het argument. Voorbeeld: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultaat: 01 |
fn:day-from-dateTime(datetime) |
Retourneert het gehele getal van de dagen van de lokale waarde van het argument. Voorbeeld: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultaat: 10 |
fn:hours-from-dateTime(datetime) |
Retourneert het gehele getal van de uren van de lokale waarde van het argument. Voorbeeld: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultaat: 12 |
fn:minutes-from-dateTime(datetime) |
Retourneert het gehele getal van de minuten van de lokale waarde van het argument. Voorbeeld: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Resultaat: 30 |
fn:seconds-from-dateTime(datetime) |
Retourneert het decimale getal van de seconden van de lokale waarde van het argument. Voorbeeld: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10")) Resultaat: 0 |
fn:timezone-from-dateTime(datetime) | Retourneert het tijdzone deel van het parameter, indien aanwezig. |
fn:year-from-date(date) |
Retourneert het geheel getal dat het lokale waarde van het parameter vertegenwoordigt voor de jaren. Voorbeeld: year-from-date(xs:date("2005-04-23")) Resultaat: 2005 |
fn:month-from-date(date) |
Retourneert het geheel getal dat het lokale waarde van het parameter vertegenwoordigt voor de maanden. Voorbeeld: month-from-date(xs:date("2005-04-23")) Resultaat: 4 |
fn:day-from-date(date) |
Retourneert het geheel getal dat het lokale waarde van het parameter vertegenwoordigt voor de dagen. Voorbeeld: day-from-date(xs:date("2005-04-23")) Resultaat: 23 |
fn:timezone-from-date(date) | Retourneert het tijdzone deel van het parameter, indien aanwezig. |
fn:hours-from-time(time) |
Retourneert het geheel getal dat het lokale waarde van het parameter vertegenwoordigt voor de uren. Voorbeeld: hours-from-time(xs:time("10:22:00")) Resultaat: 10 |
fn:minutes-from-time(time) |
Retourneert het geheel getal dat het lokale waarde van het parameter vertegenwoordigt voor de minuten. Voorbeeld: minutes-from-time(xs:time("10:22:00")) Resultaat: 22 |
fn:seconds-from-time(time) |
Retourneert het geheel getal dat het lokale waarde van het parameter vertegenwoordigt voor de seconden. Voorbeeld: seconds-from-time(xs:time("10:22:00")) Resultaat: 0 |
fn:timezone-from-time(time) | Retourneert het tijdzone deel van het parameter, indien aanwezig. |
fn:adjust-dateTime-to-timezone(datetime,timezone) |
Als het timezone parameter leeg is, wordt de dateTime zonder tijdzone geretourneerd. Anders wordt de dateTime met tijdzone geretourneerd. |
fn:adjust-date-to-timezone(date,timezone) |
Als het timezone parameter leeg is, wordt de datum zonder tijdzone geretourneerd. Anders wordt de datum met tijdzone geretourneerd. |
fn:adjust-time-to-timezone(time,timezone) |
Als het timezone parameter leeg is, wordt de tijd zonder tijdzone geretourneerd. Anders retourneer de tijd met de tijdzone. |
Functies gerelateerd aan QNames
Naam | Verklaring |
---|---|
fn:QName() | |
fn:local-name-from-QName() | |
fn:namespace-uri-from-QName() | |
fn:namespace-uri-for-prefix() | |
fn:in-scope-prefixes() | |
fn:resolve-QName() |
Functies voor knooppunten
Naam | Verklaring |
---|---|
|
Geef de naam van het huidige knooppunt of de eerste knooppunt in de opgegeven knooppuntenset terug. |
|
Geef de naam van het huidige knooppunt of de eerste knooppunt in de opgegeven knooppuntenset terug - zonder namespace voorvoegsel. |
|
Geef de namespace URI van de huidige of opgegeven knooppunten terug. |
fn:lang(lang) |
Retourneer true als de taal van het huidige knooppunt overeenkomt met de opgegeven taal. Voorbeeld: Lang("en") is true voor <p xml:lang="en">...</p> Voorbeeld: Lang("de") is false voor <p xml:lang="en">...</p> |
|
Geef de wortel van het knooppuntengeslacht van de huidige of opgegeven knooppunt terug. Dit is meestal de documentknooppunt. |
Functies voor reeksen
Algemene functie
Naam | Verklaring |
---|---|
fn:index-of((item,item,...),searchitem) |
Geef de positie van het item in de item reeks terug dat gelijk is aan de searchitem parameter. Voorbeeld: index-of ((15, 40, 25, 40, 10), 40) Resultaat: (2, 4) Voorbeeld: index-of (("a", "dog", "and", "a", "duck"), "a") Resultaat (1, 4) Voorbeeld: index-of ((15, 40, 25, 40, 10), 18) Resultaat: () |
fn:remove((item,item,...),position) |
Geef een nieuwe reeks opgebouwd uit de item parameter - verwijder tegelijkertijd het item op de opgegeven positie. Voorbeeld: remove(("ab", "cd", "ef"), 0) Resultaat: ("ab", "cd", "ef") Voorbeeld: remove(("ab", "cd", "ef"), 1) Resultaat: ("cd", "ef") Voorbeeld: remove(("ab", "cd", "ef"), 4) Resultaat: ("ab", "cd", "ef") |
fn:empty(item,item,...) |
Retourneert true als de parameterwaarde een lege reeks is, anders retourneert het false. Voorbeeld: empty(remove(("ab", "cd"), 1)) Resultaat: false |
fn:exists(item,item,...) |
Retourneert true als de parameterwaarde geen lege reeks is, anders retourneert het false. Voorbeeld: exists(remove(("ab"), 1)) Resultaat: false |
fn:distinct-values((item,item,...),collation) |
Retourneert unieke waarden. Voorbeeld: distinct-values((1, 2, 3, 1, 2)) Resultaat: (1, 2, 3) |
fn:insert-before((item,item,...),pos,inserts) |
Retourneert een nieuwe reeks gevormd door de item parameter, waarbij de waarde van de inserts parameter wordt ingevoegd op de door het pos parameter gespecificeerde positie. Voorbeeld: insert-before(("ab", "cd"), 0, "gh") Resultaat: ("gh", "ab", "cd") Voorbeeld: insert-before(("ab", "cd"), 1, "gh") Resultaat: ("gh", "ab", "cd") Voorbeeld: insert-before(("ab", "cd"), 2, "gh") Resultaat: ("ab", "gh", "cd") Voorbeeld: insert-before(("ab", "cd"), 5, "gh") Resultaat: ("ab", "cd", "gh") |
fn:reverse((item,item,...)) |
Retourneert de omgekeerde volgorde van de gespecificeerde items. Voorbeeld: reverse(("ab", "cd", "ef")) Resultaat: ("ef", "cd", "ab") Voorbeeld: reverse(("ab")) Resultaat: ("ab") |
fn:subsequence((item,item,...),start,len) |
Retourneert de items op de door het start parameter gespecificeerde positie, de lengte van de reeks wordt bepaald door het len parameter. De positie van het eerste item is 1. Voorbeeld: subsequence(($item1, $item2, $item3,...), 3) Resultaat: ($item3, ...) Voorbeeld: subsequence(($item1, $item2, $item3, ...), 2, 2) Resultaat: ($item2, $item3) |
fn:unordered((item,item,...)) | Retourneer items in de volgorde die door de implementatie is bepaald. |
Functie om de capaciteit van een reeks te testen
Naam | Verklaring |
---|---|
fn:zero-or-one(item,item,...) | Retourneer de parameter als deze geen of één item bevat, anders genereer een fout. |
fn:one-or-more(item,item,...) | Retourneer de parameter als deze een of meerdere items bevat, anders genereer een fout. |
fn:exactly-one(item,item,...) | Retourneer de parameter als deze een item bevat, anders genereer een fout. |
Gelijkheid, Unie, Intersection en Uitkomst
Naam | Verklaring |
---|---|
fn:deep-equal(param1,param2,collation) | Retourneer true als param1 en param2 gelijk zijn aan elkaar (deep-equal), anders retourneer false. |
Som functie
Naam | Verklaring |
---|---|
fn:count((item,item,...)) | Retourneer het aantal knopen. |
fn:avg((arg,arg,...)) |
Retourneer het gemiddelde van de waarden van de parameters. Voorbeeld: avg((1,2,3)) Resultaat: 2 |
fn:max((arg,arg,...)) |
Retourneer de parameter die groter is dan de andere parameters. Voorbeeld: max((1,2,3)) Resultaat: 3 Voorbeeld: max(('a', 'k')) Resultaat: 'k' |
fn:min((arg,arg,...)) |
Retourneer de parameter die kleiner is dan de andere parameters. Voorbeeld: min((1,2,3)) Resultaat: 1 Voorbeeld: min(('a', 'k')) Resultaat: 'a' |
fn:sum(arg,arg,...) | Retourneer de som van de waarden van elke knoop in de gespecificeerde knooppakket. |
Functie om een reeks te genereren
Naam | Verklaring |
---|---|
fn:id((string,string,...),node) | Retourneer een reeks elementknopen, waarvan de ID-waarden gelijk zijn aan een van de een of meerdere waarden die in de string parameter zijn gespecificeerd. |
fn:idref((string,string,...),node) | Retourneer een reeks elementen of eigenschapsknopen, waarvan de IDREF-waarden gelijk zijn aan een van de een of meerdere waarden die in de string parameter zijn gespecificeerd. |
fn:doc(URI) | |
fn:doc-available(URI) | Retourneer true als de doc() functie een documentnode retourneert, anders retourneer false. |
|
Contextfuncties
Naam | Verklaring |
---|---|
fn:position() |
Keer de indexpositie van de huidige node terug die wordt verwerkt. Voorbeeld: //book[position()<=3] Resultaat: selecteer de eerste drie book-elementen |
fn:last() |
Keer het aantal items in de lijst van verwerkte nodes terug. Voorbeeld: //book[last()] Resultaat: selecteer de laatste book-element |
fn:current-dateTime() | Keer de huidige dateTime (met tijdzone) terug. |
fn:current-date() | Keer de huidige datum (met tijdzone) terug. |
fn:current-time() | Keer de huidige tijd (met tijdzone) terug. |
fn:implicit-timezone() | Keer de waarde van de impliciete tijdzone terug. |
fn:default-collation() | Keer de waarde van de standaard vergelijking terug. |
fn:static-base-uri() | Keer de waarde van base-uri terug. |
XSLT-functies
Daarnaast zijn er de volgende ingebouwde XSLT-functies:
Naam | Beschrijving |
---|---|
current() | Keer een node-set terug die de huidige node als enige lid bevat. |
document() | Gebruikt om nodes in een externe XML-document te bereiken. |
element-available() | Controleer of de XSLT-verwerker de opgegeven elementen ondersteunt. |
format-number() | Converteer een getal naar een string. |
function-available() | Controleer of de XSLT-verwerker de opgegeven functie ondersteunt. |
generate-id() | Keer de unieke stringwaarde die de specifieke node identificeert terug. |
key() | Vind de elementen die eerder zijn gemarkeerd met de <xsl:key> zin. |
node-set | Converteer de boom naar een node-set. De gegenereerde node-set bevat altijd een enkele node en is de wortel van de boom. |
system-property() | Keer de waarde van het systeemattribuut terug. |
unparsed-entity-uri() | Keer terug naar de URI van de ongeparseerde entiteit. |
- Vorige pagina XSLT-elementen
- Volgende pagina XML Handleiding