Latest web development tutorials

XPath, XQuery und XSLT-Funktionen

Die folgende Referenzhandbuch definiert die XPath 2.0, XQuery 1.0 und XSLT 2.0-Funktionen.


Funktionsreferenzhandbuch

Note Die Standardfunktion Namespacepräfix für fn:

Note Funktion Namespace-URI ist: http://www.w3.org/2005/xpath-functions

Access - Funktion

Name Erklärung
fn: node-name (Knoten) Gibt den Knotennamen Parameterknoten.
fn: nilled (Knoten) Gibt an, ob das Argument Knoten Booleschen Wert zu verwerfen.
fn: data (item.item, ...) Akzeptieren Sie die Projektablauf und gibt die Sequenz von atomaren Werten.
  • fn: base-uri ()
  • fn: base-uri (Knoten)
Gibt den Wert der aktuellen Basis-uri Attribut gibt den Knoten an.
fn: document-uri (Knoten) Gibt den Wert des angegebenen Knotens document-uri Eigenschaft.

Fehler und Tracking - Funktionen

Name Erklärung
  • fn: error ()
  • fn: error (Fehler)
  • fn: Fehler (Fehler, Beschreibung)
  • fn: Fehler (Fehler, Beschreibung, Fehler-Objekt)

Beispiele: Fehler (fn: QName ( 'http://example.com/test', 'err: toohigh'), 'Fehler: Der Preis ist zu hoch ")

Ergebnisse: Returns http://example.com/test#toohigh und String an die externe Verarbeitungsumgebung "Fehler: Der Preis ist zu hoch".

fn: trace (Wert, Label) Es wird verwendet, Debug abzufragen.

Funktionen bezogenen Werten

Name Erklärung
fn: Nummer (ARG)

Gibt den Wert des Parameters. Parameter ist ein boolescher Wert, ein String oder Knotensatz.

Beispiele: Nummer ( '100')

Ergebnisse: 100

fn: abs (num)

Gibt den absoluten Wert des Parameters.

Beispiele: abs (3.14)

Ergebnisse: 3.14

Beispiele: abs (-3,14)

Ergebnisse: 3.14

fn: Decke (num)

Gibt die kleinste ganze Zahl größer als num Parameter.

Beispiele: Decke (3.14)

Ergebnisse: 4

fn: floor (num)

Gibt die größte ganze Zahl nicht größer als num Parameter.

Beispiele: Boden (3.14)

Ergebnisse: 3

fn: round (num)

Die num Argument auf die nächste ganze Zahl gerundet.

Beispiele: Runde (3.14)

Ergebnisse: 3

fn: round-half-to-even ()

Beispiele: Rund-um-half-to-even (0,5)

Ergebnisse: 0

Beispiele: Rund-um-half-to-even (1,5)

Ergebnisse: 2

Beispiele: Rund-um-half-to-even (2.5)

Ergebnisse: 2

Funktionen über Strings

Name Erklärung
fn: string (ARG)

Gibt den String-Wert des Parameters. Argumente können Zahlen, logische Werte, oder einen Satz von Knoten sein.

Beispiele: string (314)

Ergebnis: Die "314"

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

Nach dem Code Punktfolge gibt einen String zurück.

Beispiele: Codepoints-to-string (84, 104, 233, 114, 232, 115, 101)

Ergebnisse: "Therese"

fn: string-to-Codepoints (string)

Nach String Rückgabecode Punktfolge.

Beispiele: string-to-Codepoints ( "Therese")

Ergebnis: 84, 104, 233, 114, 232, 115, 101

fn: Codepoint-gleich (COMP1, COMP2) Nach dem Punkt Vergleich Unicode-Code, wenn der Wert auf den Wert komp1 comp2 gleich Gibt true zurück. (Http://www.w3.org/2005/02/xpath-functions/collation/codepoint), andernfalls wird false zurückgegeben.
  • fn: Vergleichen (COMP1, COMP2)
  • fn: Vergleichen (COMP1, COMP2, Sortierung)

Wenn komp1 weniger als comp2, wird -1 zurückgegeben. Wenn komp1 gleich comp2, wird 0 zurückgegeben. Wenn comp1 größer als comp2 wird 1 zurückgegeben. (Nach den Regeln von der Steuerung verwendet wird).

Beispiel: Vergleich ( 'ghi', 'ghi)

Ergebnisse: 0

fn: concat (string, string, ...)

Gibt die String-Verkettung.

Beispiele: concat ( 'XPath', 'ist', 'FUN!')

Ergebnisse: 'XPath ist Spaß! "

fn: string-join ((string, string, ...), sep)

Verwenden September als Trennzeichen Argument den String-Parameter-String zurück nach Nähen.

Beispiele: string-join ( '! Fun "(" wir "," sind', 'mit'), '')

Ergebnisse: "Wir haben Spaß!"

Beispiele: string-join ( '! Fun "(" wir "," sind', 'mit',))

Ergebnisse: 'Wearehavingfun!'

Beispiele: string-join ((), 'September')

Ergebnisse: ''

  • fn: substring (string, start, len)
  • fn: substring (string, start)

Gibt die Teilzeichen von der Startposition des Anfanges der angegebenen Länge. Index des ersten Zeichens 1 ist. Wenn Sie das Argument len ​​von der Startposition bis zum Ende eines Strings auslassen zurückgegeben.

Beispiele: substring ( 'Beatles', 1,4)

Ergebnisse: 'Beat'

Beispiele: substring ( 'Beatles', 2)

Ergebnisse: 'eatles'

  • fn: string-length (string)
  • fn: string-length ()

Gibt die Länge des Strings. Wenn kein String-Argument ist, wird die Länge des String-Wert des aktuellen Knotens zurückgegeben.

Beispiele: string-length ( 'Beatles')

Ergebnisse: 7

  • fn: normalize-space (string)
  • fn: normalize-space ()

Entfernen Sie den Anfang und das Ende des angegebenen Strings leer, leer und alle durch eine Reihe von internen ersetzt und gibt das Ergebnis. Wenn kein String-Argument, der Prozess des aktuellen Knotens.

Beispiele: normalize-space ( 'Die XML')

Ergebnisse: 'Die XML'

fn: normalize-unicode () Die Umsetzung von Unicode-Normalisierung.
fn: upper-case (string)

Der String-Argument in Großbuchstaben.

Beispiele: Großbuchstaben ( 'Die XML')

Ergebnisse: 'THE XML'

fn: lower-case (string)

Der String-Argument in Kleinbuchstaben umgewandelt.

Beispiele: Klein ( 'Die XML')

Ergebnisse: 'die xml'

fn: translate (string1, string2, string3)

Die string1 in string2 ersetzt string3.

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

Ergebnisse: '12: 45 '

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

Ergebnisse: '12: 45 '

Beispiele: translate ('12: 30 ',' 0123 ',' ABCD ')

Ergebnisse: 'bc: da'

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

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

Ergebnisse: "http% 3A% 2F% 2Fexample.com% 2Ftest # Auto"

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

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

Beispiele: escape-uri ( "http://example.com/~bebe", false ())

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

fn: contains (string1, string2)

Wenn string1 string2 enthält, gibt es wahr ist, andernfalls false.

Beispiele: enthält ( 'XML', 'XM')

Ergebnisse: true

fn: starts-with (string1, string2)

Wenn string1 mit string2 beginnt, gibt es wahr ist, andernfalls false.

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

Ergebnisse: true

fn: ends-with (string1, string2)

Wenn string1 mit string2 Ende true zurück, andernfalls wird false zurückgegeben.

Beispiele: Enden-mit ( 'XML', 'X')

Ergebnisse: false

fn: substring-before (string1, string2)

Gibt eine Teil string1 string2 vor erscheinen.

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

Ergebnisse: '12'

fn: substring-after (string1, string2)

Gibt eine Teil string1 string2 später erscheinen.

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

Ergebnisse: '10 '

fn: matches (String, Muster)

Wenn Zeichenfolge mit dem angegebenen Muster übereinstimmt, gibt es wahr ist, andernfalls false.

Beispiele: Streichhölzer ( "Meran", "ran")

Ergebnisse: true

fn: replace (string, Muster, ersetzen)

Der angegebene Modus wird der Parameter ersetzt ersetzen und gibt das Ergebnis.

Beispiele: ersetzen ( "Bella Italia", "l", "*")

Ergebnisse: '** wird eine Ita * ia'

Beispiele: ersetzen ( "Bella Italia", "l", "")

Ergebnisse: 'Bea Itaia'

fn: tokenize (string, Muster)

Beispiele: tokenize ( "XPath ist Spaß", "\ s +")

Ergebnisse :( "XPath", "ist", "Spaß")

AnyURI Funktion für

Name Erklärung
fn: resolve-uri (relative, Basis)

Funktionen der Boolesche Werte

Name Erklärung
fn: boolean (ARG) Gibt einen Booleschen Wert numerisch, String oder Knotensatz.
fn: nicht (ARG)

Erstens, boolean () Funktion, um die Parameter eines Booleschen Wert wiederherzustellen. Wenn der Boolesche Wert falsch ist, gibt es wahr, andernfalls gibt es wahr.

Beispiel: nicht (true ())

Ergebnisse: false

fn: true ()

Gibt einen booleschen Wert true.

Beispiele: true ()

Ergebnisse: true

fn: false ()

Gibt einen Booleschen Wert false.

Beispiele: false ()

Ergebnisse: false

Funktionen im Zusammenhang mit der Dauer, Datum und Uhrzeit

Datum, Uhrzeit, Dauer der Komponenten Extraktionsfunktion

Name Erklärung
fn: Datums- und Uhrzeit (Datum, Uhrzeit) Die Argumente für Datum und Uhrzeit.
fn: Jahre-from-Dauer (datetimedur) Der ganzzahlige Teil des Jahres der Rückgabewert einer Standardnotation Worte darzustellen.
fn: Monate-from-Dauer (datetimedur) Gibt den ganzzahligen Teil der Parameterwerte des Monats, einem Standard-Notation Worte darzustellen.
fn: days-from-Dauer (datetimedur) Gibt den ganzzahligen Teil der Parameterwerte des Tages, einer Standard-Notation Worte darzustellen.
fn: Stunden-from-Dauer (datetimedur) Gibt den ganzzahligen Teil der Parameterwerte der Stunde, der Standardnotation Worte darzustellen.
fn: minutes-from-Dauer (datetimedur) Gibt den ganzzahligen Teil des Protokolls der Parameterwerte, die Standardnotation Worte darzustellen.
fn: Sekunden-from-Dauer (datetimedur) Gibt den Dezimalteil der Zahl der Minuten von Parameterwerten, einer Standardnotation Worte darzustellen.
fn: year-from-datetime (datetime)

Gibt den ganzzahligen Parameterwerte im Lokalteil.

Beispiele: year-from-datetime (xs: datetime ( "2005-01-10T12: 30-04: 10"))

Ergebnisse: 2005

fn: month-from-datetime (datetime)

Gibt den ganzzahligen Teil der monatlichen lokalen Parameterwerte.

Beispiele: Monat-from-datetime (xs: datetime ( "2005-01-10T12: 30-04: 10"))

Ergebnisse: 01

fn: day-from-datetime (datetime)

Gibt den ganzzahligen Teil des Tages lokalen Parameterwerte.

Beispiele: day-from-datetime (xs: datetime ( "2005-01-10T12: 30-04: 10"))

Ergebnisse: 10

fn: Stunden-from-datetime (datetime)

Gibt den ganzzahligen Teil der Parameter Stunden lokalen Werten.

Beispiele: Stunden-from-datetime (xs: datetime ( "2005-01-10T12: 30-04: 10"))

Ergebnisse: 12

fn: minutes-from-datetime (datetime)

Gibt den ganzzahligen Teil der Parameter des lokalen Minutenwert.

Beispiele: Minuten-from-datetime (xs: datetime ( "2005-01-10T12: 30-04: 10"))

Ergebnisse: 30

fn: Sekunden-from-datetime (datetime)

Gibt den Dezimalteil der zweiten lokalen Parameterwerte.

Beispiele: Sekunden-from-datetime (xs: datetime ( "2005-01-10T12: 30: 00-04: 10"))

Ergebnisse: 0

fn: Zeitzone-from-datetime (datetime) Gibt den Bereichsabschnitt, falls vorhanden.
fn: year-from-date (Datum)

Im Gegenzug Integer-Werte, die die lokalen Parameter darstellen.

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

Ergebnisse: 2005

fn: month-from-date (Datum)

Integer Monat Gibt den lokalen Wert des Parameters angezeigt.

Beispiele: Monat-from-date (xs: date ( "2005-04-23"))

Ergebnisse: 4

fn: day-from-date (Datum)

Tag zurückgeben ein Integer-Wert der lokalen Parameter darstellt.

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

Ergebnisse: 23

fn: Zeitzone-from-date (Datum) Gibt den Bereichsabschnitt, falls vorhanden.
fn: Stunden-aus-Zeit (Zeit)

Gibt den ganzzahligen Teil Stunden lokalen Parameterwerte dargestellt.

Beispiele: Stunden-from-Zeit (xs: time ( "10.22.00"))

Ergebnisse: 10

fn: minutes-from-Zeit (Zeit)

Gibt den ganzzahligen Teil der Parameter des lokalen Minutenwert darstellt.

Beispiele: Minuten-from-Zeit (xs: time ( "10.22.00"))

Ergebnisse: 22

fn: Sekunden-aus-Zeit (Zeit)

Der ganzzahlige Teil des zweiten Parameters Rückgabewert gibt die lokale.

Beispiele: Sekunden-from-Zeit (xs: time ( "10.22.00"))

Ergebnisse: 0

fn: Zeitzone-from-Zeit (Zeit) Gibt den Bereichsabschnitt, falls vorhanden.
fn: adjust-datetime-to-timezone (Datumzeit, Zeitzone) Wenn die Zeitzone Argument leer ist, gibt es keine Datums- und Uhrzeitzeitzone. Andernfalls gibt es Datums- und Uhrzeit mit Zeitzone.
fn: adjust-date-to-Zeitzone (Datum, Zeitzone) Wenn die Zeitzone Argument leer ist, gibt es kein Datum Zeitzone. Andernfalls gibt es Datum mit Zeitzone.
fn: adjust-time-to-Zeitzone (Zeit, Zeitzone) Wenn die Zeitzone Argument leer ist, gibt es keine Zeit, Zeitzone. Sonst Zeit mit Zeitzone.

Und QNames Funktionen im Zusammenhang mit

Name Erklärung
fn: QName ()
fn: local-name-from-QName ()
fn: namespace-uri-from-QName ()
fn: namespace-uri-for-Präfix ()
fn: in-scope-Präfixe ()
fn: resolve-QName ()

Eine Funktion des Knotens

Name Erklärung
  • fn: name ()
  • fn: name (nodeset)
Gibt den aktuellen Knotennamen oder den ersten Knoten des Clusters angeben.
  • fn: local-name ()
  • fn: local-name (nodeset)
Gibt die erste des aktuellen Knotennamen oder geben Sie einen Knoten im Cluster - ohne Namespacepräfix.
  • fn: namespace-uri ()
  • fn: namespace-uri (nodeset)
Gibt den angegebenen Knoten oder Knoten im Cluster aktuellen Namespace URI des ersten Knotens.
fn: lang (lang)

Wenn die Sprache des aktuellen Knotens der angegebenen Sprache übereinstimmt, gibt es wahr.

Beispiele: Lang ( "en") gilt für die <p xml: lang = "de"> ... </ p>

Beispiele: Lang ( "de") ist falsch für <p xml: lang = "de"> ... </ p>

  • fn: root ()
  • fn: root (Knoten)
Gibt den Wurzelknoten des Baumes oder den aktuellen Knoten angegebenen Knoten gehört. Normalerweise wird ein Dokumentknoten.

Funktionen verwandte Sequenzen

Allgemeine Funktion

Name Erklärung
fn: index von ((Artikel, Artikel, ...), searchitem)

Zurück im Projekt gleich der Sequenzposition searchitem Parameter.

Beispiele: index-of ((15, 40, 25, 40, 10), 40)

Ergebnisse: (2, 4)

Beispiele: Index-of (( "a", "Hund", "und", "a", "Ente"), "a")

(1, 4)

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

Ergebnisse :()

fn: entfernen ((Artikel, Artikel, ...), Position)

Es gibt eine neue Folge von Artikel Parameterkonfiguration - Position löschen Parameter des Projekts angibt.

Beispiele: entfernen (( "ab", "cd", "ef"), 0)

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

Beispiele: entfernen (( "ab", "cd", "ef"), 1)

Ergebnisse :( "cd", "ef")

Beispiele: entfernen (( "ab", "cd", "ef"), 4)

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

fn: empty (Artikel, Artikel, ...)

Wenn der Parameterwert eine leere Sequenz ist, gibt es wahr ist, andernfalls false.

Beispiele: leer (entfernen (( "ab", "cd"), 1))

Ergebnisse: false

fn: vorhanden (Artikel, Artikel, ...)

Wenn der Parameterwert nicht eine leere Sequenz ist, gibt es wahr ist, andernfalls false.

Beispiele: existiert (Entfernen (( "ab"), 1))

Ergebnisse: false

fn: distinct-values ​​((Artikel, Artikel, ...), Sortierung)

Die einzige andere Werte zurückgeben.

Beispiele: distinct-values ​​((1, 2, 3, 1, 2))

Ergebnisse: (1, 2, 3)

fn: insert-before ((Artikel, Artikel, ...), pos, Einsätze)

Es gibt einen neuen von der Position Parameter konstruierten Folge - Parameter die Position des Einführungs Angabe des Wertes der pos Parameter einfügt.

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

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

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

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

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

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

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

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

fn: reverse ((Artikel, Artikel, ...))

Returns in umgekehrter Reihenfolge der angegebenen Elemente aus.

Beispiele: Reverse (( "ab", "cd", "ef"))

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

Beispiele: reverse (( "ab"))

Ergebnisse :( "ab")

fn: Folge ((Artikel, Artikel, ...), starten, len)

Gibt den Startparameter den Standort des Projekts gibt die Sequenz, Sequenzlänge durch len festgelegte Parameter zurückzukehren. Standort des ersten Projektes ist 1.

Beispiele: Teilfolge (($ Element1, $ item2, $ item3, ...), 3)

Ergebnisse: ($ item3, ...)

Beispiele: Teilfolge (($ Element1, $ item2, $ item3, ...), 2, 2)

Ergebnisse: ($ item2, $ item3)

fn: ungeordnete ((Artikel, Artikel, ...)) Nach der Reihenfolge der Umsetzung Entscheidungen zum Projekt zurückzukehren.

Kapazitätstestsequenzfunktion

Name Erklärung
fn: Null-oder-on (Artikel, Artikel, ...) Wenn ein Parameter null oder ein Element enthält, dann Parameter zurückgeben, sonst wird ein Fehler generiert.
fn: Ein-oder-mehr (Artikel, Artikel, ...) Wenn ein Parameter ein oder mehrere Elemente enthält, dann Parameter zurückgeben, sonst wird ein Fehler generiert.
fn: genau-on (Artikel, Artikel, ...) Wenn ein Parameter ein Element enthält, dann Parameter zurückgeben, sonst wird ein Fehler generiert.

Equals, Vereinigung, Schnitt und Außer

Name Erklärung
fn: deep-equal (param1, param2, Sortierung) Wenn param1 und param2 und einander gleich (deep-equal), true zurück gibt, andernfalls false.

Aggregate-Funktion

Name Erklärung
fn: count ((Artikel, Artikel, ...)) Gibt die Anzahl von Knoten.
fn: avg ((arg, arg, ...)) Die durchschnittliche Rendite Parameterwerte. Beispiele: avg ((1,2,3)) Ergebnis: 2
fn: max ((arg, arg, ...)) Gibt die Parameter größer als die anderen Parameter. Beispiele: max ((1,2,3)) Ergebnisse: Beispiele 3: max (( 'a', 'k')) Ergebnisse: 'k'
fn: min ((arg, arg, ...)) Zurück kleiner als die anderen Parameter der Parameter. Beispiele: min ((1,2,3)) Ergebnisse: Beispiele 1: min (( 'a', 'k')) Ergebnisse: 'a'
fn: sum (arg, arg, ...) Gibt den angegebenen Knoten den Summenwert jedes Knotens gesetzt.

Sequence Erzeugungsfunktion

Name Erklärung
fn: id ((string, string, ...), Knoten) Gibt eine Folge von Elementknoten, die einen ID-Wert gleich dem Wert eines oder mehrere der Werte im String-Argument angegeben
fn: idref ((string, string, ...), Knoten) Gibt eine Sequenz von Element oder Attributknoten, die einen IDREF Wert gleich dem Wert eines oder mehrere der Werte im String-Argument angegeben
fn: doc (URI)
fn: doc-verfügbar (URI) Wenn der doc () Funktion, um den Dokumentknoten zurückgibt, wird true zurückgegeben, andernfalls false.
  • fn: collection ()
  • fn: collection (string)

Kontextfunktionen

Name Erklärung
fn: position ()

Es gibt die Indexposition des Knotens verarbeitet werden.

Beispiele: // Buch [position () <= 3]

Ergebnisse: Wählen Sie die ersten drei Elemente des Buches

fn: last ()

Sie gibt die Anzahl der Elemente in der Liste der Knoten verarbeitet werden.

Beispiele: // Buch [last ()]

Ergebnisse: Wählen Sie das letzte Element eines Buches

fn: current-datetime () Es gibt den aktuellen Datums- und Uhrzeit (mit Zeitzone).
fn: current-date () Gibt das aktuelle Datum (mit Zeitzone).
fn: current-time () Es gibt die aktuelle Zeit (mit Zeitzone).
fn: implizite-Zeitzone () Rückgabewert implizite Zeitzone.
fn: default-collation () Die Steuerung kehrt auf den Standardwert.
fn: statisch-base-uri () Der Rückgabewert der Basis-uri.