XPath, XQuery und XSLT-Funktionen
- Vorherige Seite Kurzübersicht über XPath
- Nächste Seite XPath-Tutorials
Zugriffs-Funktionen
Name | Erklärung |
---|---|
fn:node-name(node) | Gibt den Knotennamen des Arguments zurück. |
fn:nilled(node) | Gibt den Boolean-Wert zurück, ob der angegebene Knoten abgelehnt wird. |
fn:data(item.item,...) | Akzeptiert eine Sequenz von Elementen und gibt eine Sequenz von Atomen zurück. |
|
Gibt den Wert der base-uri-Eigenschaft des aktuellen Knotens oder des angegebenen Knotens zurück. |
fn:document-uri(node) | Gibt den Wert der document-uri-Eigenschaft des angegebenen Knotens zurück. |
Fehler- und Trace-Funktionen
Name | Erklärung |
---|---|
|
Beispiel: error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high') Ergebnis: Gibt an den externen Verarbeitungsumgebung http://example.com/test#toohigh zurück sowie die Zeichenkette "Error: Price is too high". |
fn:trace(value,label) | Wird verwendet, um die Abfrage zu debuggen. |
Funktionen zur numerischen Verarbeitung
Name | Erklärung |
---|---|
fn:number(arg) |
Gibt den numerischen Wert des Arguments zurück. Das Argument kann ein Boolescher Wert, ein String oder eine Knotensequenz sein. Beispiel: number('100') Ergebnis: 100 |
fn:abs(num) |
Gibt den Absolutwert des Arguments zurück. Beispiel: abs(3.14) Ergebnis: 3.14 Beispiel: abs(-3.14) Ergebnis: 3.14 |
fn:ceiling(num) |
Gibt die kleinste Ganzzahl zurück, die größer als das Argument num ist. Beispiel: ceiling(3.14) Ergebnis: 4 |
fn:floor(num) |
Rückgabe der größten Ganzzahl, die nicht größer als das Argument num ist. Beispiel: floor(3.14) Ergebnis: 3 |
fn:round(num) |
Rundet den Parameter num auf die nächstgelegene Ganzzahl. Beispiel: round(3.14) Ergebnis: 3 |
fn:round-half-to-even() |
Beispiel: round-half-to-even(0.5) Ergebnis: 0 Beispiel: round-half-to-even(1.5) Ergebnis: 2 Beispiel: round-half-to-even(2.5) Ergebnis: 2 |
Über die Zeichenfolgefunktionen
Name | Erklärung |
---|---|
fn:string(arg) |
Rückgabe des Zeichenfolgenrechtes des Arguments. Das Argument kann eine Zahl, ein logisches Wert oder ein Knotenset sein. Beispiel: string(314) Ergebnis: "314" |
fn:codepoints-to-string(int,int,...) |
Rückgabe der Zeichenfolge basierend auf der Zeichensatzpunktkette. Beispiel: codepoints-to-string(84, 104, 233, 114, 232, 115, 101) Ergebnis: 'Thérèse' |
fn:string-to-codepoints(string) |
Rückgabe der Zeichensatzpunktsequenz basierend auf der Zeichenfolge. Beispiel: string-to-codepoints("Thérèse") Ergebnis: 84, 104, 233, 114, 232, 115, 101 |
fn:codepoint-equal(comp1,comp2) | Laut Unicode-Zeichenpunktkollation wird true zurückgegeben, wenn der Wert von comp1 dem Wert von comp2 entspricht. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint), andernfalls wird false zurückgegeben. |
|
Wenn comp1 kleiner als comp2 ist, wird -1 zurückgegeben. Wenn comp1 gleich comp2 ist, wird 0 zurückgegeben. Wenn comp1 größer als comp2 ist, wird 1 zurückgegeben. (Abhängig vom verwendeten Vergleichsregeln). Beispiel: compare('ghi', 'ghi') Ergebnis: 0 |
fn:concat(string,string,...) |
Rückgabe der Verkettung von Zeichenfolgen. Beispiel: concat('XPath ','ist ','FUN!') Ergebnis: 'XPath ist FUN!' |
fn:string-join((string,string,...),sep) |
Verwendet den Parameter sep als Trennzeichen, um die durch den String-Parameter verbundenen Zeichenfolgen zurückzugeben. Beispiel: string-join(('We', 'are', 'having', 'fun!'), ' ') Ergebnis: ' We are having fun! ' Beispiel: string-join(('We', 'are', 'having', 'fun!')) Ergebnis: 'Wearehavingfun!' Beispiel: string-join((), 'sep') Ergebnis: '' |
|
Gibt einen vom start-Position beginnenden und die angegebene Länge lange Teilstring zurück. Der Index des ersten Zeichens ist 1. Wenn der Parameter len weggelassen wird, wird der Teilstring von der Position start bis zum Ende der Zeichenkette zurückgegeben. Beispiel: substring('Beatles',1,4) Ergebnis: 'Beat' Beispiel: substring('Beatles',2) Ergebnis: 'eatles' |
|
Gibt die Länge des angegebenen Strings zurück. Wenn kein string-Parameter angegeben ist, wird die Länge des String-Werts des aktuellen Knotens zurückgegeben. Beispiel: string-length('Beatles') Ergebnis: 7 |
|
Entfernt den angegebenen String am Anfang und Ende und ersetzt alle internen Leerzeichenfolgen durch ein Leerzeichen, und gibt das Ergebnis zurück. Wenn kein string-Parameter angegeben ist, wird der aktuelle Knoten verarbeitet. Beispiel: normalize-space(' The XML ') Ergebnis: 'The XML' |
fn:normalize-unicode() | Führt die Unicode-Normalisierung durch. |
fn:upper-case(string) |
Konvertiert den Parameter string in Großbuchstaben. Beispiel: upper-case('The XML') Ergebnis: 'THE XML' |
fn:lower-case(string) |
Konvertiert den Parameter string in Kleinbuchstaben. Beispiel: lower-case('The XML') Ergebnis: 'the xml' |
fn:translate(string1,string2,string3) |
Ersetze string2 in string1 durch string3. Beispiel: translate('12:30','30','45') Ergebnis: '12:45' Beispiel: translate('12:30','03','54') Ergebnis: '12:45' Beispiel: translate('12:30','0123','abcd') Ergebnis: 'bc:da' |
fn:escape-uri(stringURI,esc-res) |
Beispiel: escape-uri("http://example.com/test#car", true()) Ergebnis: "http%3A%2F%2Fexample.com%2Ftest#car" Beispiel: escape-uri("http://example.com/test#car", false()) Ergebnis: "http://example.com/test#car" Beispiel: escape-uri ("http://example.com/~bébé", false()) Ergebnis: "http://example.com/~b%C3%A9b%C3%A9" |
fn:contains(string1,string2) |
Gibt true zurück, wenn string1 string2 enthält, sonst false. Beispiel: contains('XML','XM') Ergebnis: true |
fn:starts-with(string1,string2) |
Gibt true zurück, wenn string1 mit string2 beginnt, sonst false. Beispiel: starts-with('XML','X') Ergebnis: true |
fn:ends-with(string1,string2) |
Gibt true zurück, wenn string1 mit string2 endet, sonst false. Beispiel: ends-with('XML','X') Ergebnis: false |
fn:substring-before(string1,string2) |
Rückgabe des Untertextes, der vor dem Auftreten von string2 in string1 folgt. Beispiel: substring-before('12/10','/') Ergebnis: '12' |
fn:substring-after(string1,string2) |
Rückgabe des Untertextes, der nach dem Auftreten von string2 in string1 folgt. Beispiel: substring-after('12/10','/') Ergebnis: '10' |
fn:matches(string,pattern) |
Wenn der Wert des Strings mit dem angegebenen Muster übereinstimmt, wird true zurückgegeben, andernfalls wird false zurückgegeben. Beispiel: matches("Merano", "ran") Ergebnis: true |
fn:replace(string,pattern,replace) |
Ersetzen des angegebenen Musters durch den replace-Parameter und Rückgabe des Ergebnisses. Beispiel: replace("Bella Italia", "l", "*") Ergebnis: 'Be**a Ita*ia' Beispiel: replace("Bella Italia", "l", "") Ergebnis: 'Bea Itaia' |
fn:tokenize(string,pattern) |
Beispiel: tokenize("XPath is fun", "\s+") Ergebnis: ("XPath", "is", "fun") |
Funktionen für anyURI.
Name | Erklärung |
---|---|
fn:resolve-uri(relative,base) |
Funktionen für boolesche Werte.
Name | Erklärung |
---|---|
fn:boolean(arg) | Rückgabewert des booleschen Wertes für Zahl, Zeichenfolge oder Knotensatz. |
fn:not(arg) |
Zunächst wird der Parameter durch die Funktion boolean() in einen booleschen Wert umgewandelt. Wenn der boolesche Wert false ist, wird true zurückgegeben, andernfalls wird true zurückgegeben. Beispiel: not(true()) Ergebnis: false |
fn:true() |
Rückgabewert des booleschen Wertes true. Beispiel: true() Ergebnis: true |
fn:false() |
Rückgabewert des booleschen Wertes false. Beispiel: false() Ergebnis: false |
Funktionen für Dauer, Datum und Uhrzeit.
Funktion zur Extraktion von Datum, Uhrzeit und Dauer.
Name | Erklärung |
---|---|
fn:dateTime(date,time) | Parameter in Datum und Uhrzeit umwandeln. |
fn:years-from-duration(datetimedur) | Rückgabewert des Jahresanteils als Integer in der Standardwortbedeutung angegeben. |
fn:months-from-duration(datetimedur) | Rückgabewert des Monatsanteils als Integer in der Standardwortbedeutung angegeben. |
fn:days-from-duration(datetimedur) | Rückgabewert des Tagesanteils als Integer in der Standardwortbedeutung angegeben. |
fn:hours-from-duration(datetimedur) | Gibt den Wert der Stunden des Parameters als Integer in der Standardwortmeldung dar. |
fn:minutes-from-duration(datetimedur) | Gibt den Wert der Minuten des Parameters als Integer in der Standardwortmeldung dar. |
fn:seconds-from-duration(datetimedur) | Gibt den Wert der Minuten des Parameters als Dezimalzahl in der Standardwortmeldung dar. |
fn:year-from-dateTime(datetime) |
Gibt die lokale Wertangabe des Parameters als Integer des Jahres zurück. Beispiel: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Ergebnis: 2005 |
fn:month-from-dateTime(datetime) |
Gibt die lokale Wertangabe des Parameters als Integer des Monats zurück. Beispiel: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Ergebnis: 01 |
fn:day-from-dateTime(datetime) |
Gibt die lokale Wertangabe des Parameters als Integer des Tages zurück. Beispiel: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Ergebnis: 10 |
fn:hours-from-dateTime(datetime) |
Gibt die lokale Wertangabe des Parameters als Integer der Stunden zurück. Beispiel: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Ergebnis: 12 |
fn:minutes-from-dateTime(datetime) |
Gibt die lokale Wertangabe des Parameters als Integer der Minuten zurück. Beispiel: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Ergebnis: 30 |
fn:seconds-from-dateTime(datetime) |
Gibt die lokale Wertangabe des Parameters als Dezimalzahl der Sekunden zurück. Beispiel: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10")) Ergebnis: 0 |
fn:timezone-from-dateTime(datetime) | Gibt den Zeitzone-Teil des Parameters zurück, falls vorhanden. |
fn:year-from-date(date) |
Gibt die lokale Wertangabe des Parameters als Integer des Jahres zurück. Beispiel: year-from-date(xs:date("2005-04-23")) Ergebnis: 2005 |
fn:month-from-date(date) |
Gibt die Ganzzahl des Monats des lokalen Wertes des Parameters zurück. Beispiel: month-from-date(xs:date("2005-04-23")) Ergebnis: 4 |
fn:day-from-date(date) |
Gibt die Ganzzahl des Tages des lokalen Wertes des Parameters zurück. Beispiel: day-from-date(xs:date("2005-04-23")) Ergebnis: 23 |
fn:timezone-from-date(date) | Gibt den Zeitzone-Teil des Parameters zurück, falls vorhanden. |
fn:hours-from-time(time) |
Gibt die Ganzzahl des Stunden-Teils des lokalen Wertes des Parameters zurück. Beispiel: hours-from-time(xs:time("10:22:00")) Ergebnis: 10 |
fn:minutes-from-time(time) |
Gibt die Ganzzahl des Minuten-Teils des lokalen Wertes des Parameters zurück. Beispiel: minutes-from-time(xs:time("10:22:00")) Ergebnis: 22 |
fn:seconds-from-time(time) |
Gibt die Ganzzahl des Sekunden-Teils des lokalen Wertes des Parameters zurück. Beispiel: seconds-from-time(xs:time("10:22:00")) Ergebnis: 0 |
fn:timezone-from-time(time) | Gibt den Zeitzone-Teil des Parameters zurück, falls vorhanden. |
fn:adjust-dateTime-to-timezone(datetime,timezone) | Wird der Zeitzone-Parameter leer gelassen, wird ein dateTime ohne Zeitzone zurückgegeben. Andernfalls wird ein dateTime mit Zeitzone zurückgegeben. |
fn:adjust-date-to-timezone(date,timezone) | Wird der Zeitzone-Parameter leer gelassen, wird ein Datum ohne Zeitzone zurückgegeben. Andernfalls wird ein Datum mit Zeitzone zurückgegeben. |
fn:adjust-time-to-timezone(time,timezone) | Wird der Zeitzone-Parameter leer gelassen, wird eine Zeit ohne Zeitzone zurückgegeben. Andernfalls wird eine Zeit mit Zeitzone zurückgegeben. |
Funktionen im Zusammenhang mit QNames
Name | Erklärung |
---|---|
fn:QName() | |
fn:local-name-from-QName() | |
fn:namespace-uri-from-QName() | |
fn:namespace-uri-for-prefix() | |
fn:in-scope-prefixes() | |
fn:resolve-QName() |
Funktionen für Knoten
Name | Erklärung |
---|---|
|
Gibt den Namen der aktuellen oder angegebenen Knotenmenge zurück. |
|
Gibt den Namen der aktuellen oder angegebenen Knotenmenge zurück - ohne Namensraumpräfix. |
|
Gibt den Namensraum URI der aktuellen oder angegebenen Knotenmenge zurück. |
fn:lang(lang) |
Gibt true zurück, wenn die Sprache des aktuellen Knotens mit der angegebenen Sprache übereinstimmt. Beispiel: Lang("en") ist true für <p xml:lang="en">...</p> Beispiel: Lang("de") ist false für <p xml:lang="en">...</p> |
|
Gibt den Wurzelknoten der Knotenbaumstruktur der aktuellen oder angegebenen Knoten zurück. Es ist in der Regel ein Dokumentknoten. |
Funktionen für Sequenzen
Allgemeine Funktion
Name | Erklärung |
---|---|
fn:index-of((item,item,...),searchitem) |
Gibt die Positionen zurück, an denen das Element in der Projektsfolge gleich searchitem ist. Beispiel: index-of ((15, 40, 25, 40, 10), 40) Ergebnis: (2, 4) Beispiel: index-of (("a", "dog", "and", "a", "duck"), "a") Ergebnis (1, 4) Beispiel: index-of ((15, 40, 25, 40, 10), 18) Ergebnis: () |
fn:remove((item,item,...),position) |
Gibt eine neue Sequenz zurück, die durch den item-Parameter konstruiert wird - und das Element an der angegebenen position-Position entfernt. Beispiel: remove(("ab", "cd", "ef"), 0) Ergebnis: ("ab", "cd", "ef") Beispiel: remove(("ab", "cd", "ef"), 1) Ergebnis: ("cd", "ef") Beispiel: remove(("ab", "cd", "ef"), 4) Ergebnis: ("ab", "cd", "ef") |
fn:empty(item,item,...) |
Wenn der Parameterwert eine leere Sequenz ist, wird true zurückgegeben, sonst false. Beispiel: empty(remove(("ab", "cd"), 1)) Ergebnis: false |
fn:exists(item,item,...) |
Wird der Wert des Parameters nicht eine leere Sequenz sein, wird true zurückgegeben,否则返回 false. Beispiel: exists(remove(("ab"), 1)) Ergebnis: false |
fn:distinct-values((item,item,...),collation) |
Rückgabe einzigartiger Werte. Beispiel: distinct-values((1, 2, 3, 1, 2)) Ergebnis: (1, 2, 3) |
fn:insert-before((item,item,...),pos,inserts) |
Rückgabe einer neuen Sequenz, die durch den item-Parameter konstruiert wird - gleichzeitig wird der Wert der inserts-Parameter an der durch den pos-Parameter angegebenen Position eingefügt. Beispiel: insert-before(("ab", "cd"), 0, "gh") Ergebnis: ("gh", "ab", "cd") Beispiel: insert-before(("ab", "cd"), 1, "gh") Ergebnis: ("gh", "ab", "cd") Beispiel: insert-before(("ab", "cd"), 2, "gh") Ergebnis: ("ab", "gh", "cd") Beispiel: insert-before(("ab", "cd"), 5, "gh") Ergebnis: ("ab", "cd", "gh") |
fn:reverse((item,item,...)) |
Rückgabe der umgekehrten Reihenfolge der angegebenen Elemente. Beispiel: reverse(("ab", "cd", "ef")) Ergebnis: ("ef", "cd", "ab") Beispiel: reverse(("ab")) Ergebnis: ("ab") |
fn:subsequence((item,item,...),start,len) |
Rückgabe der Elementfolgen an der durch den start-Parameter angegebenen Position, die Länge der Sequenz wird durch den len-Parameter angegeben. Die Position des ersten Elements ist 1. Beispiel: subsequence(($item1, $item2, $item3,...), 3) Ergebnis: ($item3, ...) Beispiel: subsequence(($item1, $item2, $item3, ...), 2, 2) Ergebnis: ($item2, $item3) |
fn:unordered((item,item,...)) | Die Reihenfolge der Rückgabe der Elemente wird durch die Implementierung bestimmt. |
Funktion zur Überprüfung der Kapazität der Sequenz
Name | Erklärung |
---|---|
fn:zero-or-one(item,item,...) | Gibt den Parameter zurück, wenn er keine oder ein Projekt enthält, sonst wird ein Fehler generiert. |
fn:one-or-more(item,item,...) | Gibt den Parameter zurück, wenn er ein oder mehrere Projekte enthält, sonst wird ein Fehler generiert. |
fn:exactly-one(item,item,...) | Gibt den Parameter zurück, wenn er ein Projekt enthält, sonst wird ein Fehler generiert. |
Gleichheit, Union, Intersection und Ausnahme
Name | Erklärung |
---|---|
fn:deep-equal(param1,param2,collation) | Gibt true zurück, wenn param1 und param2 demander tief gleich sind, sonst false. |
Kombinationsfunktion
Name | Erklärung |
---|---|
fn:count((item,item,...)) | Gibt die Anzahl der Knoten zurück. |
fn:avg((arg,arg,...)) |
Gibt den Durchschnitt der Werte der Parameter zurück. Beispiel: avg((1,2,3)) Ergebnis: 2 |
fn:max((arg,arg,...)) |
Gibt den Parameter zurück, der größer als die anderen Parameter ist. Beispiel: max((1,2,3)) Ergebnis: 3 Beispiel: max(('a', 'k')) Ergebnis: 'k' |
fn:min((arg,arg,...)) |
Gibt den Parameter zurück, der kleiner als die anderen Parameter ist. Beispiel: min((1,2,3)) Ergebnis: 1 Beispiel: min(('a', 'k')) Ergebnis: 'a' |
fn:sum(arg,arg,...) | Gibt die Summe der Werte jedes Knotens in der angegebenen Knotenmenge zurück. |
Funktion zur Generierung einer Sequenz
Name | Erklärung |
---|---|
fn:id((string,string,...),node) | Gibt eine Sequenz von Elementknoten zurück, die einen ID-Wert haben, der dem Wert eines oder mehrerer in dem String-Argument angegebenen Werte entspricht |
fn:idref((string,string,...),node) | Gibt eine Sequenz von Element- oder Attributknoten zurück, die einen IDREF-Wert haben, der dem Wert eines oder mehrerer in dem String-Argument angegebenen Werte entspricht |
fn:doc(URI) | |
fn:doc-available(URI) | Wenn die Funktion doc() einen Dokumentknoten zurückgibt, wird true zurückgegeben,否则返回 false。 |
|
Kontextfunktion
Name | Erklärung |
---|---|
fn:position() |
Rückgabe der indexartigen Position des aktuellen Knotens, der bearbeitet wird. Beispiel: //book[position()<=3] Ergebnis: Auswahl der ersten drei book-Elemente |
fn:last() |
Rückgabe der Anzahl der Elemente in der Liste der verarbeiteten Knoten. Beispiel: //book[last()] Ergebnis: Auswahl des letzten book-Elements |
fn:current-dateTime() | Rückgabe des aktuellen dateTime (mit Zeitzone). |
fn:current-date() | Rückgabe des aktuellen Datums (mit Zeitzone). |
fn:current-time() | Rückgabe der aktuellen Zeit (mit Zeitzone). |
fn:implicit-timezone() | Rückgabe des Werts der impliziten Zeitzone. |
fn:default-collation() | Rückgabe des Werts der Standardabgleichs. |
fn:static-base-uri() | Rückgabe des Werts von base-uri. |
- Vorherige Seite Kurzübersicht über XPath
- Nächste Seite XPath-Tutorials