XSLT 2.0, XPath 2.0 und XQuery 1.0, teilen die gleichen Funktionen Bibliothek.
Funktionsreferenz
Der Standard-Präfix für die Funktion Namespace ist fn:
Die URI des Funktionsnamespace ist: http://www.w3.org/2005/xpath-functions
Tip: Präfix, wie fn:: Funktionen werden oft mit der fn genannt string() . Da jedoch fn: das Standard-Präfix des Namensraums ist, die Funktionsnamen müssen nicht vorangestellt werden, wenn sie aufgerufen.
Accessorfunktionen
Name | Beschreibung |
---|---|
fn:node- name( node ) | Gibt den Knoten-Namen des Arguments Knoten |
fn: nilled( node ) | Gibt einen Booleschen Wert, der angibt, ob das Argument Knoten nilled wird |
fn: data( item.item,... ) | Nimmt eine Folge von Elementen und gibt eine Sequenz von atomaren Werten |
fn:base- uri() fn:base- uri( node ) | Gibt den Wert der Basis-uri Eigenschaft des aktuellen oder angegebenen Knoten |
fn:document- uri( node ) | Gibt den Wert des Dokuments-uri Eigenschaft für den angegebenen Knoten |
Funktionen Fehler und Trace
Name | Beschreibung |
---|---|
fn: error() fn: error( error ) fn: error( error,description ) fn: error( error,description,error-object ) | Beispiel: error(fn:QName('http://example.com/test', 'err:toohigh') , 'Fehler: Der Preis ist zu hoch') Ergebnis: Kehrt http://example.com/test#toohigh und die Zeichenfolge "Error: Price is too high" Der "Error: Price is too high" an die externe Verarbeitungsumgebung |
fn: trace( value,label ) | Wird verwendet, um Debug-Abfragen |
Funktionen auf numerische Werte
Name | Beschreibung |
---|---|
fn: number( arg ) | Gibt den numerischen Wert des Arguments. Das Argument könnte eine boolean, String oder Knotenmenge sein, Beispiel: number('100') |
fn: abs( num ) | Gibt den absoluten Wert des Arguments Beispiel: abs(3.14) Beispiel: abs(-3.14) |
fn: ceiling( num ) | Gibt die kleinste ganze Zahl, die größer ist als die Zahl Argument Beispiel: ceiling(3.14) |
fn: floor( num ) | Gibt die größte ganze Zahl, die nicht größer als die Zahl Argument Beispiel: floor(3.14) |
fn: round( num ) | Rundet das Argument Zahl zur nächsten ganzen Zahl Beispiel: round(3.14) |
fn:round-half-to- even() | Beispiel: Rundhalb to- even(0.5) Ergebnis: 0 Beispiel: Rundhalb to- even(1.5) Beispiel: Rundhalb to- even(2.5) |
Funktionen auf Strings
Name | Beschreibung |
---|---|
fn: string( arg ) | Gibt den String-Wert des Arguments. Das Argument könnte eine Zahl, boolean oder Knotenmenge sein, Beispiel: string(314) |
fn:codepoints-to- string(( int,int,... ) ) | Erstellt eine Zeichenfolge aus einer Folge der Unicode-Standard-Codepunkte Beispiel: Codepoints-to - string((84, 104, 233, 114, 232, 115, 101) ) |
fn:string-to- codepoints( string ) | Gibt die Reihenfolge der Unicode-Standard-Codepunkte aus einem String Beispiel: String-to - codepoints("Th r se") |
fn:codepoint- equal( comp1,comp2 ) | Gibt true zurück , wenn der Wert von COMP1 gleich den Wert von comp2 ist, gemäß dem Unicode - Codepunkt Sortierungs (http://www.w3.org/2005/02/xpath-functions/collation/codepoint) , ansonsten false zurück |
fn: compare( comp1,comp2 ) fn: compare( comp1,comp2,collation ) | -1, wenn COMP1 kleiner als COMP2, 0 wenn COMP1 gleich COMP2, oder 1, wenn COMP1 größer als COMP2 (nach den Regeln der Kollation, das verwendet wird) Beispiel: compare('ghi', 'ghi') |
fn: concat( string,string,... ) | Gibt die Verkettung der Strings Beispiel: concat('XPath ','is ','FUN!') |
fn:string- join( (string,string,...) ,sep) | Gibt eine Zeichenfolge erstellt, indem Sie die Zeichenfolge-Argumente verketten und mit dem September Argument als Trenn Beispiel: String- join(('We', 'are', 'having', 'fun!') , ' ‚) Beispiel: String- join(('We', 'are', 'having', 'fun!') ) Beispiel: String- join(() , SEP) |
fn: substring( string,start,len ) fn: substring( string,start ) | Gibt den Teilstring von der Startposition auf die angegebene Länge. Index des ersten Zeichens ist 1. Wenn Länge weggelassen es den Teil von der Startposition bis zum Ende zurück Beispiel: substring('Beatles',1,4) Beispiel: substring('Beatles',2) |
fn:string- length( string ) fn:string- length() | Gibt die Länge des angegebenen Strings. Wenn es keine String-Argument ist gibt sie die Länge des String-Wert des aktuellen Knotens Beispiel: String- length('Beatles') |
fn:normalize- space( string ) fn:normalize- space() | Entfernt führende und Leerzeichen aus der angegebenen Zeichenkette Hinter und ersetzt alle internen Abläufe des weißen Raumes mit einer und gibt das Ergebnis. Wenn es keine String-Argument ist tut es das gleiche auf dem aktuellen Knoten Beispiel: normalize- space(' The XML ') |
fn:normalize- unicode() | |
fn:upper- case( string ) | Wandelt den String-Argument in Großbuchstaben Beispiel: Groß- case('The XML') |
fn:lower- case( string ) | Wandelt den String-Argument zu Klein Beispiel: Nieder- case('The XML') |
fn: translate( string1,string2,string3 ) | Wandelt string1 durch die Zeichen in string2 mit den Charakteren in string3 ersetzen Beispiel: translate('12:30','30','45') Beispiel: translate('12:30','03','54') Beispiel: translate('12:30','0123','abcd') |
fn:escape- uri( stringURI,esc-res ) | Beispiel: Flucht- uri("http://example.com/test#car", true() ) Ergebnis: "http%3A%2F%2Fexample.com%2Ftest#car" Beispiel: Escape- uri("http://example.com/test#car", false() ) Beispiel: escape-uri ("http://example.com/~b b ", false() ) |
fn: contains( string1,string2 ) | Gibt true zurück, wenn string1 string2 enthält, andernfalls gibt sie false zurück Beispiel: contains('XML','XM') |
fn:starts- with( string1,string2 ) | Gibt true zurück, wenn string1 mit string2 beginnt, andernfalls gibt es falsch Beispiel: starts- with('XML','X') |
fn:ends- with( string1,string2 ) | Gibt true zurück, wenn string1 mit string2 endet, andernfalls gibt es falsch Beispiel: ends- with('XML','X') |
fn:substring- before( string1,string2 ) | Gibt den Beginn string1 vor Zeichenfolge2 darin auftritt Beispiel: substring- before('12/10','/') |
fn:substring- after( string1,string2 ) | Gibt den Rest von string1 nach string2 in sie auftritt Beispiel: substring- after('12/10','/') |
fn: matches( string,pattern ) | Gibt true zurück, wenn das String-Argument das Muster übereinstimmt, andernfalls wird false zurückgegeben Beispiel: matches("Merano", "ran") |
fn: replace( string,pattern,replace ) | Gibt eine Zeichenfolge, die durch Ersetzen des vorgegebenen Muster mit dem Argument ersetzen erstellt wird Beispiel: replace("Bella Italia", "l" , "*") Beispiel: replace("Bella Italia", "l" , "") |
fn: tokenize( string,pattern ) | Beispiel: tokenize("XPath is fun", "\s+") Ergebnis: ("XPath", "is" , "fun") |
Funktionen für anyURI
Name | Beschreibung |
---|---|
fn:resolve- uri( relative,base ) |
Funktionen auf Boolesche Werte
Name | Beschreibung |
---|---|
fn: boolean( arg ) | Gibt einen booleschen Wert für eine Zahl, eine Zeichenfolge oder Knotenmenge |
fn: not( arg ) | Das Argument wird zunächst auf einen booleschen Wert reduziert , indem die Anwendung boolean() Funktion. Gibt true zurück, wenn der boolesche Wert falsch ist, und falsch, wenn der Boolesche Wert true Beispiel: not(true() ) |
fn: true() | Gibt den Booleschen Wert true Beispiel: true() |
fn: false() | Gibt den Booleschen Wert false Beispiel: false() |
Funktionen auf Dauern, Daten und Zeiten
Component Extraction Funktionen auf Dauern, Daten und Zeiten
Name | Beschreibung |
---|---|
fn: dateTime( date,time ) | Wandelt die Argumente zu einem Datum und einer Zeit |
fn:years-from- duration( datetimedur ) | Liefert eine Ganzzahl, die die Jahre Komponente in der kanonischen lexikalischen Repräsentation des Wertes des Arguments darstellt |
fn:months-from- duration( datetimedur ) | Liefert eine Ganzzahl, das die Monate Komponente in der kanonischen lexikalischen Repräsentation des Wertes des Arguments darstellt |
fn:days-from- duration( datetimedur ) | Liefert eine Ganzzahl, das die Tage Komponente in der kanonischen lexikalischen Repräsentation des Wertes des Arguments darstellt |
fn:hours-from- duration( datetimedur ) | Liefert eine Ganzzahl, das die Stunden-Komponente in der kanonischen lexikalischen Repräsentation des Wertes des Arguments darstellt |
fn:minutes-from- duration( datetimedur ) | Liefert eine Ganzzahl, die das Minuten-Komponente in der kanonischen lexikalischen Repräsentation des Wertes des Arguments darstellt |
fn:seconds-from- duration( datetimedur ) | Gibt eine Dezimalzahl, die die Sekunden-Komponente in der kanonischen lexikalischen Repräsentation des Wertes des Arguments darstellt |
fn:year-from- dateTime( datetime ) | Liefert eine Ganzzahl, die das Jahr Komponente in dem lokalisierten Wert des Arguments darstellt, Beispiel: Jahr-von- dateTime(xs:dateTime("2005-01-10T12:30-04:10") und dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:month-from- dateTime( datetime ) | Liefert eine Ganzzahl, die Monatskomponente in dem lokalisierten Wert des Arguments darstellt, Beispiel: Monat-von- dateTime(xs:dateTime("2005-01-10T12:30-04:10") und dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:day-from- dateTime( datetime ) | Liefert eine Ganzzahl, die die Tag-Komponente in dem lokalisierten Wert des Arguments darstellt, Beispiel: Tag-von- dateTime(xs:dateTime("2005-01-10T12:30-04:10") und dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:hours-from- dateTime( datetime ) | Liefert eine Ganzzahl, die die Stunden-Komponente in der lokalisierten Wert des Arguments darstellt, Beispiel: Stunden-von- dateTime(xs:dateTime("2005-01-10T12:30-04:10") und dateTime(xs:dateTime("2005-01-10T12:30-04:10") und dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:minutes-from- dateTime( datetime ) | Liefert eine Ganzzahl, die die Minuten-Komponente in der lokalisierten Wert des Arguments darstellt, Beispiel: Minuten-von- dateTime(xs:dateTime("2005-01-10T12:30-04:10") und dateTime(xs:dateTime("2005-01-10T12:30-04:10") und dateTime(xs:dateTime("2005-01-10T12:30-04:10") ) |
fn:seconds-from- dateTime( datetime ) | Gibt eine Dezimalzahl, die die Sekunden-Komponente in dem lokalisierten Wert des Arguments darstellt, Beispiel: Sekunden-von- dateTime(xs:dateTime("2005-01-10T12:30:00-04:10") und dateTime(xs:dateTime("2005-01-10T12:30:00-04:10") und dateTime(xs:dateTime("2005-01-10T12:30:00-04:10") ) |
fn:timezone-from- dateTime( datetime ) | Gibt die Zeitzonenkomponente des Arguments falls vorhanden |
fn:year-from- date( date ) | Gibt eine Ganzzahl, die das Jahr in dem lokalisierten Wert des Arguments darstellt Beispiel: Jahr-von- date(xs:date("2005-04-23") ) |
fn:month-from- date( date ) | Liefert eine Ganzzahl, die den Monat, in dem lokalisierten Wert des Arguments darstellt, Beispiel: Monat-von- date(xs:date("2005-04-23") ) |
fn:day-from- date( date ) | Gibt eine ganze Zahl, die den Tag in dem lokalisierten Wert des Arguments darstellt Beispiel: Tag-von- date(xs:date("2005-04-23") ) |
fn:timezone-from- date( date ) | Gibt die Zeitzonenkomponente des Arguments falls vorhanden |
fn:hours-from- time( time ) | Liefert eine Ganzzahl, die die Stunden-Komponente in der lokalisierten Wert des Arguments darstellt, Beispiel: Stunden-von- time(xs:time("10:22:00") ) |
fn:minutes-from- time( time ) | Liefert eine Ganzzahl, die die Minuten-Komponente in der lokalisierten Wert des Arguments darstellt, Beispiel: Minuten-von- time(xs:time("10:22:00") ) |
fn:seconds-from- time( time ) | Liefert eine Ganzzahl, die die Sekunden-Komponente in dem lokalisierten Wert des Arguments darstellt, Beispiel: Sekunden-von- time(xs:time("10:22:00") ) |
fn:timezone-from- time( time ) | Gibt die Zeitzonenkomponente des Arguments falls vorhanden |
fn:adjust-dateTime-to- timezone( datetime,timezone ) | Wenn die Zeitzone Argument leer ist, gibt es eine Datums- und Uhrzeit ohne Zeitzone. Andernfalls gibt es eine Datums- und Uhrzeit mit einer Zeitzone |
fn:adjust-date-to- timezone( date ,timezone ) | Wenn die Zeitzone Argument leer ist, gibt es ein Datum ohne Zeitzone. Andernfalls gibt es ein Datum mit einer Zeitzone |
fn:adjust-time-to- timezone( time ,timezone ) | Wenn die Zeitzone Argument leer ist, gibt es eine Zeit ohne Zeitzone. Andernfalls gibt es eine Zeit mit einer Zeitzone |
Funktionen mit Bezug zu QNames
Name | Beschreibung |
---|---|
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 auf Knoten
Name | Beschreibung |
---|---|
fn: name() fn: name( nodeset ) | Gibt den Namen des aktuellen Knotens oder den ersten Knoten in dem angegebenen Knotensatz |
fn:local- name() fn:local- name( nodeset ) | Gibt den Namen des aktuellen Knotens oder den ersten Knoten in dem angegebenen Knotensatz - ohne Namespacepräfix |
fn:namespace- uri() fn:namespace- uri( nodeset ) | Gibt den Namensraum-URI des aktuellen Knotens oder der erste Knoten in dem spezifizierten Knotensatz |
fn: lang( lang ) | Gibt true zurück, wenn die Sprache des aktuellen Knotens die Sprache der angegebenen Sprache übereinstimmt Beispiel: Lang("en") gilt für Beispiel: Lang("de") ist falsch für |
fn: root() fn: root( node ) | Gibt die Wurzel des Baums, zu dem der aktuelle Knoten oder die angegebene gehört. Dies wird in der Regel ein Dokumentknoten sein |
Funktionen auf Sequenzen
Allgemeine Funktionen auf Sequenzen
Name | Beschreibung |
---|---|
fn:index- of( (item,item,...) ,searchitem) | Gibt die Positionen innerhalb der Sequenz von Elementen, die zu dem searchitem Argumente gleich sind Beispiel: Index-of ((15, 40, 25, 40, 10) , 40) Beispiel: Index-of (("a", "dog" , "and" , "a" , "duck") , "a") Beispiel: Index-of ((15, 40, 25, 40, 10) , 18) |
fn: remove( (item,item,...) ,position) | Gibt eine neue Sequenz aus dem Wert der Artikel Argumente konstruiert - mit dem Element durch die Position Argument angegeben entfernt Beispiel: remove(("ab", "cd" , "ef") , 0) Beispiel: remove(("ab", "cd" , "ef") , 1) Beispiel: remove(("ab", "cd" , "ef") , 4) |
fn: empty( item,item,... ) | Gibt true zurück, wenn der Wert der Argumente eine leere Sequenz, sonst gibt es falsch Beispiel: empty(remove(("ab", "cd") , 1)) |
fn: exists( item,item,... ) | Gibt true zurück, wenn der Wert des Arguments ist nicht eine leere Sequenz, sonst gibt es falsch Beispiel: exists(remove(("ab") , 1)) |
fn:distinct- values( (item,item,...) ,collation) | Gibt nur verschiedene (different) Werte Beispiel: distinct- values((1, 2, 3, 1, 2) ) |
fn:insert- before( (item,item,...) ,pos,inserts) | Gibt eine neue Sequenz aus dem Wert der Artikel Argumente konstruiert - mit dem Wert des Arguments Einsätzen in der Position eingefügt durch den po Argument angegeben Beispiel: Einfügen- before(("ab", "cd") , 0, "gh") Beispiel: Einfügen- before(("ab", "cd") , 1, "gh") Beispiel: Einfügen- before(("ab", "cd") , 2, "gh") Beispiel: Einfügen- before(("ab", "cd") , 5, "gh") |
fn: reverse( (item,item,...) ) | Gibt die umgekehrte Reihenfolge der Elemente angegeben Beispiel: reverse(("ab", "cd" , "ef") ) Beispiel: reverse(("ab") ) |
fn: subsequence( (item,item,...) ,start,len) | Gibt eine Sequenz von Elementen aus der Position nach dem Start Argumente angegeben und Weiterbildung für die Anzahl der Elemente von dem len Argumente angegeben. Der erste Punkt ist, an der Position 1 Beispiel: subsequence(($item1, $item2, $item3,...) , 3) Beispiel: subsequence(($item1, $item2, $item3, ...) , 2, 2) |
fn: unordered( (item,item,...) ) | Gibt die Elemente in einer Implementierung abhängig, um |
Funktionen, die die Mächtigkeit von Sequenzen Testen
Name | Beschreibung |
---|---|
fn:zero-or- one( item,item,... ) | Gibt das Argument, wenn es enthält keine oder eine Einzelteile, sonst wird es einen Fehler auslöst |
fn:one-or- more( item,item,... ) | Gibt das Argument, wenn es ein oder mehrere Elemente enthält, sonst wird es einen Fehler auslöst |
fn:exactly- one( item,item,... ) | Gibt das Argument, wenn es genau ein Element enthält, sonst wird es einen Fehler auslöst |
Equals, Union, Kreuzung und Außer
Name | Beschreibung |
---|---|
fn:deep- equal( param1,param2,collation ) | Gibt true zurück, wenn param1 und param2 sind tief einander gleich, sonst gibt es falsch |
Aggregatfunktionen
Name | Beschreibung |
---|---|
fn: count( (item,item,...) ) | Gibt die Anzahl von Knoten |
fn: avg( (arg,arg,...) ) | Gibt den Durchschnitt der Argumentwerte Beispiel: avg((1,2,3) ) |
fn: max( (arg,arg,...) ) | Gibt das Argument, die größer ist als die anderen Beispiel: max((1,2,3) ) Beispiel: max(('a', 'k') ) |
fn: min( (arg,arg,...) ) | Gibt das Argument, die weniger als die anderen Beispiel: min((1,2,3) ) Beispiel: min(('a', 'k') ) |
fn: sum( arg,arg,... ) | Gibt die Summe des numerischen Werts von jedem Knoten in dem angegebenen Knoten-Set |
Funktionen, die Sequenzen generieren
Name | Beschreibung |
---|---|
fn: id( (string,string,...) ,node) | Gibt eine Folge von Elementknoten, die einen ID-Wert gleich dem Wert eines oder mehrerer der Werte in dem String-Argument angegebenen |
fn: idref( (string,string,...) ,node) | Gibt eine Folge von Element oder Attributknoten, die einen IDREF Wert gleich dem Wert eines oder mehrerer der Werte in dem String-Argument angegebenen |
fn: doc( URI ) | |
fn:doc- available( URI ) | Gibt true zurück , wenn der doc() Funktion einen Dokumentknoten zurückgibt, andernfalls wird false zurückgegeben |
fn: collection() fn: collection( string ) |
kontext~~POS=TRUNC
Name | Beschreibung |
---|---|
fn: position() | Gibt die Indexposition des Knotens, der gerade verarbeitet wird, Beispiel: // Buch [ position() <= 3] |
fn: last() | Gibt die Anzahl der Elemente in der verarbeiteten Knotenliste Beispiel: // Buch [ last() ] |
fn:current- dateTime() | Gibt die aktuelle Datums- und Uhrzeit (with timezone) |
fn:current- date() | Gibt das aktuelle Datum (with timezone) |
fn:current- time() | Gibt die aktuelle Uhrzeit (with timezone) |
fn:implicit- timezone() | Gibt den Wert der impliziten Zeitzone |
fn:default- collation() | Gibt den Wert der Standardsortierung |
fn:static-base- uri() | Gibt den Wert des Basis-uri |
XSLT-Funktionen
Darüber hinaus gibt es die folgenden integrierten XSLT-Funktionen:
Name | Beschreibung |
---|---|
current() | Gibt den aktuellen Knoten |
document() | Verwendet, um die Knoten in einem externen XML-Dokument zuzugreifen |
element- available() | Tests, ob das Element angegeben wird durch den XSLT-Prozessor unterstützt |
format- number() | Wandelt eine Zahl in einen String |
function- available() | Prüft, ob die angegebene Funktion wird durch den XSLT-Prozessor unterstützt |
generate- id() | Gibt einen Stringwert, der eindeutig einen bestimmten Knoten identifiziert, |
key() | Gibt eine Knotenmenge mit dem angegebenen Index durch ein <xsl:key> Element |
system- property() | Gibt den Wert der Systemeigenschaften |
unparsed-entity- uri() | Gibt die URI eines nicht-analysierten Entity |