XSLT 2.0, XPath 2.0 și XQuery 1.0, împărtășesc aceeași bibliotecă funcții.
funcţii de referință
Prefixul implicit pentru spațiul de nume este funcția fn:
URI-ul este spațiul de nume funcției: http://www.w3.org/2005/xpath-functions
Tip: Funcțiile sunt adesea numite cu fn: prefix, cum ar fi fn: string() . Cu toate acestea, din moment ce fn: este prefixul implicit al spațiului de nume, numele funcției nu trebuie să fie prefixat atunci când este solicitat.
Funcții accessor
Nume | Descriere |
---|---|
fn:node- name( node ) | Returnează nodul-numele nodului argument |
fn: nilled( node ) | Returnează o valoare boolean care indică dacă nodul argument este nilled |
fn: data( item.item,... ) | Ia o secvență de elemente și returnează o secvență de valori atomice |
fn:base- uri() fn:base- uri( node ) | Returnează valoarea proprietății de bază-uri a nodului curent sau specificat |
fn:document- uri( node ) | Returnează valoarea proprietății documentului-uri pentru nodul specificat |
Eroare și Trace Funcții
Nume | Descriere |
---|---|
fn: error() fn: error( error ) fn: error( error,description ) fn: error( error,description,error-object ) | Exemplu: error(fn: QName('http://example.com/test', 'err:toohigh') , 'Eroare: Pretul este prea mare') Rezultat: Returnează http://example.com/test#toohigh și șirul "Error: Price is too high" pentru mediul de procesare extern |
fn: trace( value,label ) | Folosit pentru interogări de depanare |
Funcții privind valorile numerice
Nume | Descriere |
---|---|
fn: number( arg ) | Returnează valoarea numerică a argumentului. Argumentul ar putea fi un boolean, string, sau nod-set Exemplu: number('100') |
fn: abs( num ) | Returnează valoarea absolută a argumentului Exemplu: abs(3.14) Exemplu: abs(-3.14) |
fn: ceiling( num ) | Returnează cel mai mic întreg care este mai mare decât numărul de argumentul Exemplu: ceiling(3.14) |
fn: floor( num ) | Returnează cel mai mare întreg care nu este mai mare decât numărul de argumentul Exemplu: floor(3.14) |
fn: round( num ) | Rotunjește argumentul număr la cel mai apropiat întreg Exemplu: round(3.14) |
fn:round-half-to- even() | Exemplu: rotund-jumătate-to even(0.5) Rezultat: 0 Exemplu: rotund-jumătate-to even(1.5) Exemplu: rotund-jumătate-to even(2.5) |
Funcții pe siruri
Nume | Descriere |
---|---|
fn: string( arg ) | Returnează valoarea șir a argumentului. Argumentul ar putea fi un număr, boolean, sau nod-set Exemplu: string(314) |
fn:codepoints-to- string(( int,int,... ) ) | Creează un șir de caractere dintr-o secvență de puncte de cod Unicode Standard Exemplu:-la- puncte de cod string((84, 104, 233, 114, 232, 115, 101) ) |
fn:string-to- codepoints( string ) | Returnează secvența punctelor de cod standard Unicode dintr-un șir de caractere Exemplu: string-to - codepoints("Th r se") de codepoints("Th r se") |
fn:codepoint- equal( comp1,comp2 ) | Returnează true dacă valoarea COMP1 este egală cu valoarea comp2, în conformitate cu punctul de cod Unicode colaționarea (http://www.w3.org/2005/02/xpath-functions/collation/codepoint) , în caz contrar returnează false |
fn: compare( comp1,comp2 ) fn: compare( comp1,comp2,collation ) | Returnează -1 dacă COMP1 este mai mică decât comp2, 0 dacă COMP1 este egal cu comp2 sau 1 dacă COMP1 este mai mare decât comp2 (conform regulilor interclasarea care este utilizat) Exemplu: compare('ghi', 'ghi') |
fn: concat( string,string,... ) | Returnează concatenarea siruri de caractere Exemplu: concat('XPath ','is ','FUN!') |
fn:string- join( (string,string,...) ,sep) | Returnează un șir de caractere creat de concatenand argumentele string si folosind argumentul sep ca separator Exemplu: STRING se join(('We', 'are', 'having', 'fun!') , ' „) Exemplu: STRING se join(('We', 'are', 'having', 'fun!') ) Exemplu: string- join(() , "inginerești) |
fn: substring( string,start,len ) fn: substring( string,start ) | Returnează subșirul din poziția de start la lungimea specificată. Indicele primului caracter este 1. Dacă lungimea este omis returnează subșirul din poziția de start la sfârșitul anului Exemplu: substring('Beatles',1,4) Exemplu: substring('Beatles',2) |
fn:string- length( string ) fn:string- length() | Returnează lungimea șirului specificat. Dacă nu există nici un argument șir de caractere returnează lungimea valoarea șir a nodului curent Exemplu: string- length('Beatles') |
fn:normalize- space( string ) fn:normalize- space() | Îndepărtează început și de final spațiile din șirul specificat, și înlocuiește toate secvențele interne ale spațiului alb cu unul și returnează rezultatul. Dacă nu există nici un argument șir face același lucru pe nodul curent Exemplu: normalize- space(' The XML ') |
fn:normalize- unicode() | |
fn:upper- case( string ) | Convertește argumentul șir la majuscule Exemplu: - sus case('The XML') |
fn:lower- case( string ) | Convertește argumentul string la litere mici Exemplu: , jos , case('The XML') |
fn: translate( string1,string2,string3 ) | Transformă șir1 prin înlocuirea caracterelor în string2 cu caracterele din String3 Exemplu: translate('12:30','30','45') Exemplu: translate('12:30','03','54') Exemplu: translate('12:30','0123','abcd') |
fn:escape- uri( stringURI,esc-res ) | Exemplu: escape- uri("http://example.com/test#car", true() ) Rezultat: "http%3A%2F%2Fexample.com%2Ftest#car" Exemplu: escape- uri("http://example.com/test#car", false() ) Exemplu: de evacuare-uri ("http://example.com/~b b ", false() ) |
fn: contains( string1,string2 ) | Returnează true dacă șir1 conține string2, altfel returnează false Exemplu: contains('XML','XM') |
fn:starts- with( string1,string2 ) | Returnează true dacă șir1 începe cu string2, altfel returnează false Exemplu: starts- with('XML','X') |
fn:ends- with( string1,string2 ) | Returnează true dacă șir1 se termină cu string2, altfel returnează false Exemplu: ends- with('XML','X') |
fn:substring- before( string1,string2 ) | Returnează începutul șir1 înainte de a se produce string2 în ea Exemplu: substring- before('12/10','/') |
fn:substring- after( string1,string2 ) | Returnează restul șir1 după ce are loc în ea string2 Exemplu: substring- after('12/10','/') |
fn: matches( string,pattern ) | Returnează true dacă argumentul șir se potrivește cu modelul, în caz contrar, returnează false Exemplu: matches("Merano", "ran") a matches("Merano", "ran") |
fn: replace( string,pattern,replace ) | Returnează un șir de caractere care este creat prin înlocuirea modelului dat cu argumentul înlocui Exemplu: replace("Bella Italia", "l" , "*") Exemplu: replace("Bella Italia", "l" , "") |
fn: tokenize( string,pattern ) | Exemplu: tokenize("XPath is fun", "\s+") Rezultat: ("XPath", "is" , "fun") |
Funcții pentru anyURI
Nume | Descriere |
---|---|
fn:resolve- uri( relative,base ) |
Funcții privind valorile booleene
Nume | Descriere |
---|---|
fn: boolean( arg ) | Returnează o valoare booleană pentru un număr, șir de caractere, sau nod-set |
fn: not( arg ) | Argumentul este mai întâi redusă la o valoare boolean prin aplicarea boolean() funcția. Returnează TRUE dacă valoarea boolean este falsă, și fals în cazul în care valoarea boolean este adevărat Exemplu: not( true() ) |
fn: true() | Returnează valoarea boolean true Exemplu: true() |
fn: false() | Returnează valoarea boolean false Exemplu: false() |
Funcții pe Durate, datele și orele
Funcții de extragere a componentei pe duratelor, datele și orele
Nume | Descriere |
---|---|
fn: dateTime( date,time ) | Convertește argumentele la o dată și o oră |
fn:years-from- duration( datetimedur ) | Returnează un număr întreg care reprezintă componenta de ani în reprezentarea lexicală canonică a valorii argumentului |
fn:months-from- duration( datetimedur ) | Returnează un număr întreg care reprezintă componenta luni în reprezentarea lexicală canonică a valorii argumentului |
fn:days-from- duration( datetimedur ) | Returnează un număr întreg care reprezintă componenta de zile în reprezentarea lexicală canonică a valorii argumentului |
fn:hours-from- duration( datetimedur ) | Returnează un număr întreg care reprezintă componenta de ore în reprezentarea lexical canonică a valorii argumentului |
fn:minutes-from- duration( datetimedur ) | Returnează un număr întreg care reprezintă componenta minute în reprezentarea lexical canonică a valorii argumentului |
fn:seconds-from- duration( datetimedur ) | Returnează o zecimală care reprezintă componenta secunde în reprezentarea lexicală canonică a valorii argumentului |
fn:year-from- dateTime( datetime ) | Returnează un număr întreg care reprezintă componenta an în valoarea localizată a argumentului Exemplu: la- ani dateTime(xs: dateTime("2005-01-10T12:30-04:10") ) |
fn:month-from- dateTime( datetime ) | Returnează un număr întreg care reprezintă componenta luni în valoarea localizată a argumentului Exemplu: luni-la- dateTime(xs: dateTime("2005-01-10T12:30-04:10") ) |
fn:day-from- dateTime( datetime ) | Returnează un număr întreg care reprezintă componenta zi în valoarea localizată a argumentului Exemplu: zi-la- dateTime(xs: dateTime("2005-01-10T12:30-04:10") ) |
fn:hours-from- dateTime( datetime ) | Returnează un număr întreg care reprezintă componenta ore în valoarea localizată a argumentului Exemplu: ore-la- dateTime(xs: dateTime("2005-01-10T12:30-04:10") ) |
fn:minutes-from- dateTime( datetime ) | Returnează un număr întreg care reprezintă componenta minute în valoarea localizată a argumentului Exemplu: minute-la- dateTime(xs: dateTime("2005-01-10T12:30-04:10") ) |
fn:seconds-from- dateTime( datetime ) | Returnează o zecimală care reprezintă componenta secunde în valoarea localizată a argumentului Exemplu: sec-la- dateTime(xs: dateTime("2005-01-10T12:30:00-04:10") ) |
fn:timezone-from- dateTime( datetime ) | Returnează componenta de fus orar al argumentului dacă există |
fn:year-from- date( date ) | Returnează un număr întreg care reprezintă anul în valoarea localizată a argumentului Exemplu: an de la- date(xs: date("2005-04-23") ) |
fn:month-from- date( date ) | Returnează un număr întreg care reprezintă luna în valoarea localizată a argumentului Exemplu: luni-la- date(xs: date("2005-04-23") ) |
fn:day-from- date( date ) | Returnează un număr întreg care reprezintă ziua în valoarea localizată a argumentului Exemplu: zi-la- date(xs: date("2005-04-23") ) |
fn:timezone-from- date( date ) | Returnează componenta de fus orar al argumentului dacă există |
fn:hours-from- time( time ) | Returnează un număr întreg care reprezintă componenta ore în valoarea localizată a argumentului Exemplu: ore-la- time(xs: time("10:22:00") ) |
fn:minutes-from- time( time ) | Returnează un număr întreg care reprezintă componenta minute în valoarea localizată a argumentului Exemplu: minute-la- time(xs: time("10:22:00") ) |
fn:seconds-from- time( time ) | Returnează un număr întreg care reprezintă componenta secunde în valoarea localizată a argumentului Exemplu: sec-la- time(xs: time("10:22:00") ) |
fn:timezone-from- time( time ) | Returnează componenta de fus orar al argumentului dacă există |
fn:adjust-dateTime-to- timezone( datetime,timezone ) | Dacă argumentul zonei de fus orar este gol, returnează un dateTime fără un fus orar. În caz contrar, returnează un dateTime cu un fus orar |
fn:adjust-date-to- timezone( date ,timezone ) | Dacă argumentul zonei de fus orar este gol, returnează o dată, fără un fus orar. În caz contrar, returnează o dată cu un fus orar |
fn:adjust-time-to- timezone( time ,timezone ) | Dacă argumentul zonei de fus orar este gol, returneaza un timp, fără un fus orar. În caz contrar, returnează un timp cu un fus orar |
Funcții legate de QNames
Nume | Descriere |
---|---|
fn: QName() | |
fn:local-name-from- QName() | |
fn:namespace-uri-from- QName() | |
fn:namespace-uri-for- prefix() | |
fn:in-scope- prefixes() | |
fn:resolve- QName() |
Funcții pe Nodurile
Nume | Descriere |
---|---|
fn: name() fn: name( nodeset ) | Returnează numele nodului curent sau primul nod din set nod specificat |
fn:local- name() fn:local- name( nodeset ) | Returnează numele nodului curent sau primul nod din set nod specificat - fără prefixul de spațiu de nume |
fn:namespace- uri() fn:namespace- uri( nodeset ) | Returnează namespace URI al nodului curent sau primul nod din set nod specificat |
fn: lang( lang ) | Returnează true dacă limba nodului curent se potrivește cu limba de limba specificată Exemplu: Lang("en") este adevărat pentru Exemplu: Lang("de") este falsă pentru |
fn: root() fn: root( node ) | Returnează rădăcina arborelui căruia îi aparține nodul curent sau specificat. Acest lucru va fi, de obicei, un nod de document |
Funcții pe Secvențe
Funcții generale privind Secvențe
Nume | Descriere |
---|---|
fn:index- of( (item,item,...) ,searchitem) | Returnează pozițiile în secvența de elemente care sunt egale cu argumentul searchitem Exemplu: index-a ((15, 40, 25, 40, 10) , 40) Exemplu: index-a (("a", "dog" , "and" , "a" , "duck") , "a") Exemplu: index-a ((15, 40, 25, 40, 10) , 18) |
fn: remove( (item,item,...) ,position) | Returnează o nouă secvență construită din valoarea argumentelor de elemente - cu elementul specificat de argumentul poziția eliminat Exemplu: remove(("ab", "cd" , "ef") , 0) Exemplu: remove(("ab", "cd" , "ef") , 1) Exemplu: remove(("ab", "cd" , "ef") , 4) |
fn: empty( item,item,... ) | Returnează true dacă valoarea argumentelor este o secvență de gol, în caz contrar returnează false Exemplu: empty( remove(("ab", "cd") , 1)) |
fn: exists( item,item,... ) | Returnează true dacă valoarea argumentelor nu este o secvență de gol, în caz contrar returnează false Exemplu: exists( remove(("ab") , 1)) |
fn:distinct- values( (item,item,...) ,collation) | Returnează numai distincte (different) valori Exemplu: distinct- values((1, 2, 3, 1, 2) ) |
fn:insert- before( (item,item,...) ,pos,inserts) | Returnează o nouă secvență construită din valoarea argumentelor de elemente - cu valoarea argumentului inserturi inserat în poziția specificată de argumentul pos Exemplu: Insert- before(("ab", "cd") , 0, "gh") Exemplu: Insert- before(("ab", "cd") , 1, "gh") Exemplu: Insert- before(("ab", "cd") , 2, "gh") Exemplu: Insert- before(("ab", "cd") , 5, "gh") |
fn: reverse( (item,item,...) ) | Returnează ordinea inversă a elementelor specificate Exemplu: reverse(("ab", "cd" , "ef") ) Exemplu: reverse(("ab") ) |
fn: subsequence( (item,item,...) ,start,len) | Returnează o secvență de elemente din poziția specificată de argumentul de început și continuă pentru numărul de elemente specificate de argumentul Len. Primul element este situat la poziția 1 Exemplu: subsequence(($item1, $item2, $item3,...) , 3) Exemplu: subsequence(($item1, $item2, $item3, ...) , 2, 2) |
fn: unordered( (item,item,...) ) | Returnează elementele într-o ordine dependentă de punere în aplicare |
Funcții care testează cardinalitatea Secvențe
Nume | Descriere |
---|---|
fn:zero-or- one( item,item,... ) | Returnează argumentul dacă conține zero sau un produs, în caz contrar se ridică o eroare |
fn:one-or- more( item,item,... ) | Returnează argumentul dacă conține unul sau mai multe elemente, în caz contrar se ridică o eroare |
fn:exactly- one( item,item,... ) | Returnează argumentul dacă conține exact un element, în caz contrar se ridică o eroare |
Este egal, Union, Intersecția și cu excepția
Nume | Descriere |
---|---|
fn:deep- equal( param1,param2,collation ) | Returnează true dacă param1 și param2 sunt profunde egale între ele, în caz contrar returnează false |
Funcții agregate
Nume | Descriere |
---|---|
fn: count( (item,item,...) ) | Întoarce numărul de noduri |
fn: avg( (arg,arg,...) ) | Returnează media valorilor argument Exemplu: avg((1,2,3) ) |
fn: max( (arg,arg,...) ) | Returnează argumentul că este mai mare decât ceilalți Exemplu: max((1,2,3) ) Exemplu: max(('a', 'k') ) |
fn: min( (arg,arg,...) ) | Returnează argumentul că este mai mică decât ceilalți Exemplu: min((1,2,3) ) Exemplu: min(('a', 'k') ) |
fn: sum( arg,arg,... ) | Returnează suma valoarea numerică a fiecărui nod în nod specificat-set |
Funcții care generează Secvențe
Nume | Descriere |
---|---|
fn: id( (string,string,...) ,node) | Returnează o secvență de noduri elementului care au o valoare ID egală cu valoarea uneia sau mai multora dintre valorile specificate în argumentul șir |
fn: idref( (string,string,...) ,node) | Returnează o secvență de element sau atribut noduri care au o valoare IDREF egală cu valoarea unuia sau mai multora dintre valorile specificate în argumentul șir |
fn: doc( URI ) | |
fn:doc- available( URI ) | Returnează true dacă doc() funcția returnează un nod de document, în caz contrar returnează false |
fn: collection() fn: collection( string ) |
Funcții Context
Nume | Descriere |
---|---|
fn: position() | Returnează poziția index al nodului, care este în prezent în curs de procesare Exemplu: // carte [ position() <= 3] |
fn: last() | Returnează numărul de elemente din lista de noduri prelucrate Exemplu: // carte [ last() ] |
fn:current- dateTime() | Returnează Datăoră curent (with timezone) |
fn:current- date() | Returnează data curentă (with timezone) |
fn:current- time() | Returnează ora curentă (with timezone) |
fn:implicit- timezone() | Returnează valoarea implicită de fus orar |
fn:default- collation() | Returnează valoarea implicită colaționare |
fn:static-base- uri() | Returnează valoarea bazei-uri |
Funcții XSLT
În plus, există următoarele funcții predefinite XSLT:
Nume | Descriere |
---|---|
current() | Returnează nodul curent |
document() | Folosit pentru a avea acces la nodurile într-un document XML extern |
element- available() | Testele dacă elementul specificat este suportat de către procesorul XSLT |
format- number() | Conversia unui număr într-un șir de caractere |
function- available() | Testele dacă funcția specificată este susținută de procesorul XSLT |
generate- id() | Returnează o valoare șir de caractere care identifică în mod unic un nod specificat |
key() | Returnează un nod-set folosind indexul specificat printr - o <xsl:key> Element |
system- property() | Returnează valoarea proprietăților sistemului |
unparsed-entity- uri() | Returnează URI-ul unei entități neparsate |