Neueste Web-Entwicklung Tutorials
 

XSLT Funktionen XPath und XQuery


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')
Ergebnis: 100

fn: abs( num ) Gibt den absoluten Wert des Arguments

Beispiel: abs(3.14)
Ergebnis: 3.14

Beispiel: abs(-3.14)
Ergebnis: 3.14

fn: ceiling( num ) Gibt die kleinste ganze Zahl, die größer ist als die Zahl Argument

Beispiel: ceiling(3.14)
Ergebnis: 4

fn: floor( num ) Gibt die größte ganze Zahl, die nicht größer als die Zahl Argument

Beispiel: floor(3.14)
Ergebnis: 3

fn: round( num ) Rundet das Argument Zahl zur nächsten ganzen Zahl

Beispiel: round(3.14)
Ergebnis: 3

fn:round-half-to- even() Beispiel: Rundhalb to- even(0.5)
Ergebnis: 0

Beispiel: Rundhalb to- even(1.5)
Ergebnis: 2

Beispiel: Rundhalb to- even(2.5)
Ergebnis: 2

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)
Ergebnis: "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) )
Ergebnis: 'Thrse'

fn:string-to- codepoints( string ) Gibt die Reihenfolge der Unicode-Standard-Codepunkte aus einem String

Beispiel: String-to - codepoints("Th r se")
Ergebnis: (84, 104, 233, 114, 232, 115, 101)

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')
Ergebnis: 0

fn: concat( string,string,... ) Gibt die Verkettung der Strings

Beispiel: concat('XPath ','is ','FUN!')
Ergebnis: 'XPath ist 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!') , ' ‚)
Ergebnis: "Wir haben Spaß! '

Beispiel: String- join(('We', 'are', 'having', 'fun!') )
Ergebnis: 'Wearehavingfun!'

Beispiel: String- join(() , SEP)
Ergebnis: ‚‘

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)
Ergebnis: 'Beat'

Beispiel: substring('Beatles',2)
Ergebnis: 'eatles'

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')
Ergebnis: 7

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 ')
Ergebnis: ‚Die XML‘

fn:normalize- unicode()
fn:upper- case( string ) Wandelt den String-Argument in Großbuchstaben

Beispiel: Groß- case('The XML')
Ergebnis: 'THE XML'

fn:lower- case( string ) Wandelt den String-Argument zu Klein

Beispiel: Nieder- case('The XML')
Ergebnis: ‚Die 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')
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: 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() )
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, andernfalls gibt sie false zurück

Beispiel: contains('XML','XM')
Ergebnis: true

fn:starts- with( string1,string2 ) Gibt true zurück, wenn string1 mit string2 beginnt, andernfalls gibt es falsch

Beispiel: starts- with('XML','X')
Ergebnis: true

fn:ends- with( string1,string2 ) Gibt true zurück, wenn string1 mit string2 endet, andernfalls gibt es falsch

Beispiel: ends- with('XML','X')
Ergebnis: false

fn:substring- before( string1,string2 ) Gibt den Beginn string1 vor Zeichenfolge2 darin auftritt

Beispiel: substring- before('12/10','/')
Ergebnis: '12'

fn:substring- after( string1,string2 ) Gibt den Rest von string1 nach string2 in sie auftritt

Beispiel: substring- after('12/10','/')
Ergebnis: '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")
Ergebnis: true

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" , "*")
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 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() )
Ergebnis: false

fn: true() Gibt den Booleschen Wert true

Beispiel: true()
Ergebnis: true

fn: false() Gibt den Booleschen Wert false

Beispiel: false()
Ergebnis: 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") )
Ergebnis: 2005

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") )
Ergebnis: 01

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") )
Ergebnis: 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") )
Ergebnis: 12

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") )
Ergebnis: 30

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") )
Ergebnis: 0

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") )
Ergebnis: 2005

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") )
Ergebnis: 4

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") )
Ergebnis: 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") )
Ergebnis: 10

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") )
Ergebnis: 22

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") )
Ergebnis: 0

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
<P xml: lang = "de"> ... </ p>

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

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)
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 aus dem Wert der Artikel Argumente konstruiert - mit dem Element durch die Position Argument angegeben 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,... ) Gibt true zurück, wenn der Wert der Argumente eine leere Sequenz, sonst gibt es falsch

Beispiel: empty(remove(("ab", "cd") , 1))
Ergebnis: false

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))
Ergebnis: false

fn:distinct- values( (item,item,...) ,collation) Gibt nur verschiedene (different) Werte

Beispiel: distinct- values((1, 2, 3, 1, 2) )
Ergebnis: (1, 2, 3)

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")
Ergebnis: ("gh", "ab" , "cd")

Beispiel: Einfügen- before(("ab", "cd") , 1, "gh")
Ergebnis: ("gh", "ab" , "cd")

Beispiel: Einfügen- before(("ab", "cd") , 2, "gh")
Ergebnis: ("ab", "gh" , "cd")

Beispiel: Einfügen- before(("ab", "cd") , 5, "gh")
Ergebnis: ("ab", "cd" , "gh")

fn: reverse( (item,item,...) ) Gibt die umgekehrte Reihenfolge der Elemente angegeben

Beispiel: reverse(("ab", "cd" , "ef") )
Ergebnis: ("ef", "cd" , "ab")

Beispiel: reverse(("ab") )
Ergebnis: ("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)
Ergebnis: ($item3, ...)

Beispiel: subsequence(($item1, $item2, $item3, ...) , 2, 2)
Ergebnis: ($item2, $item3)

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) )
Ergebnis: 2

fn: max( (arg,arg,...) ) Gibt das Argument, die größer ist als die anderen

Beispiel: max((1,2,3) )
Ergebnis: 3

Beispiel: max(('a', 'k') )
Ergebnis: 'k'

fn: min( (arg,arg,...) ) Gibt das Argument, die weniger als die anderen

Beispiel: min((1,2,3) )
Ergebnis: 1

Beispiel: min(('a', 'k') )
Ergebnis: 'a'

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]
Ergebnis: Wählt die ersten drei Elemente Buch

fn: last() Gibt die Anzahl der Elemente in der verarbeiteten Knotenliste

Beispiel: // Buch [ last() ]
Ergebnis: Wählt das letzte Buch Element

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