Funzioni XPath, XQuery e XSLT
- Pagina precedente Sommario XPath
- Pagina successiva Tutorial XPath
Funzioni di accesso
Nome | Spiegazione |
---|---|
fn:node-name(node) | Ritorna il nome del nodo del parametro. |
fn:nilled(node) | Ritorna un valore booleano che indica se il nodo del parametro è rifiutato. |
fn:data(item.item,...) | Accetta una sequenza di elementi e restituisce una sequenza di valori atomici. |
|
Ritorna il valore dell'attributo base-uri del nodo corrente o specificato. |
fn:document-uri(node) | Ritorna il valore dell'attributo document-uri del nodo specificato. |
Funzioni di errore e tracciamento
Nome | Spiegazione |
---|---|
|
esempio: error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high') Risultato: Restituisce all'ambiente di elaborazione esterno http://example.com/test#toohigh e la stringa "Error: Price is too high". |
fn:trace(value,label) | Usato per debug delle query. |
Funzioni numeriche
Nome | Spiegazione |
---|---|
fn:number(arg) |
Ritorna il valore numerico del parametro. Il parametro può essere un valore booleano, una stringa o un insieme di nodi. esempio: number('100') Risultato: 100 |
fn:abs(num) |
Ritorna il valore assoluto del parametro. esempio: abs(3.14) Risultato: 3.14 esempio: abs(-3.14) Risultato: 3.14 |
fn:ceiling(num) |
Ritorna l'intero più piccolo maggiore di num. esempio: ceiling(3.14) Risultato: 4 |
fn:floor(num) |
Restituisce il numero intero massimo non superiore al parametro num. Esempio: floor(3.14) Risultato: 3 |
fn:arrotonda(num) |
Arrotonda il parametro num al numero intero più vicino. Esempio: arrotonda(3.14) Risultato: 3 |
fn:arrotonda-a-coppia-uguale() |
Esempio: arrotonda-a-coppia-uguale(0.5) Risultato: 0 Esempio: arrotonda-a-coppia-uguale(1.5) Risultato: 2 Esempio: arrotonda-a-coppia-uguale(2.5) Risultato: 2 |
Funzioni di stringa
Nome | Spiegazione |
---|---|
fn:string(arg) |
Restituisce il valore di stringa dell'argomento. Gli argomenti possono essere numeri, valori logici o insiemi di nodi. Esempio: stringa(314) Risultato: "314" |
fn:codici-punto-a-stringa(int,int,...) |
Restituisce una stringa da una sequenza di codici punto. Esempio: codici-punto-a-stringa(84, 104, 233, 114, 232, 115, 101) Risultato: 'Thérèse' |
fn:caratteri-a-codici-punto(string) |
Restituisce una sequenza di codici punto da una stringa. Esempio: stringa-a-codici-punto("Thérèse") Risultato: 84, 104, 233, 114, 232, 115, 101 |
fn:uguale-per-codice-punto(comp1,comp2) | Secondo la collazione Unicode dei codici punto, se il valore di comp1 è uguale al valore di comp2, restituisce true. Altrimenti, restituisce false. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint) |
|
Se comp1 è minore di comp2, restituisce -1. Se comp1 è uguale a comp2, restituisce 0. Se comp1 è maggiore di comp2, restituisce 1. (in base alle regole di confronto utilizzate). Esempio: confronta('ghi', 'ghi') Risultato: 0 |
fn:concatenazione(string,string,...) |
Restituisce la concatenazione di stringhe. Esempio: concat('XPath ','è ','DIVERTENTE!') Risultato: 'XPath è DIVERTENTE!} |
fn:unione((string,string,...),sep) |
Usare il parametro sep come separatore per restituire la stringa concatenata dei parametri string. Esempio: string-join(('We', 'are', 'having', 'fun!'), ' ') Risultato: ' We are having fun! ' Esempio: string-join(('We', 'are', 'having', 'fun!')) Risultato: 'Wearehavingfun!' Esempio: string-join((), 'sep') Risultato: '' |
|
Restituire la substriga specificata di lunghezza designata a partire dalla posizione start. L'indice del primo carattere è 1. Se viene omesso il parametro len, viene restituita la substriga da posizione start alla fine della stringa. Esempio: substring('Beatles',1,4) Risultato: 'Beat' Esempio: substring('Beatles',2) Risultato: 'eatles' |
|
Restituire la lunghezza della stringa specificata. Se non viene fornito il parametro string, restituire la lunghezza del valore stringa del nodo corrente. Esempio: string-length('Beatles') Risultato: 7 |
|
Eliminare gli spazi iniziali e finali della stringa specificata, sostituire tutte le sequenze di spazi interni con un singolo spazio e restituire il risultato. Se non viene fornito il parametro string, viene trattato il nodo corrente. Esempio: normalize-space(' The XML ') Risultato: 'The XML' |
fn:normalize-unicode() | Eseguire la normalization Unicode. |
fn:upper-case(string) |
Convertire il parametro string in maiuscolo. Esempio: upper-case('The XML') Risultato: 'THE XML' |
fn:lower-case(string) |
Convertire il parametro string in minuscolo. Esempio: lower-case('The XML') Risultato: 'the xml' |
fn:translate(string1,string2,string3) |
Sostituisci string2 in string1 con string3. Esempio: translate('12:30','30','45') Risultato: '12:45' Esempio: translate('12:30','03','54') Risultato: '12:45' Esempio: translate('12:30','0123','abcd') Risultato: 'bc:da' |
fn:escape-uri(stringURI,esc-res) |
Esempio: escape-uri("http://example.com/test#car", true()) Risultato: "http%3A%2F%2Fexample.com%2Ftest#car" Esempio: escape-uri("http://example.com/test#car", false()) Risultato: "http://example.com/test#car" Esempio: escape-uri ("http://example.com/~bébé", false()) Risultato: "http://example.com/~b%C3%A9b%C3%A9" |
fn:contains(string1,string2) |
Se string1 contiene string2, restituisce true, altrimenti restituisce false. Esempio: contains('XML','XM') Risultato: true |
fn:starts-with(string1,string2) |
Se string1 inizia con string2, restituisce true, altrimenti restituisce false. Esempio: starts-with('XML','X') Risultato: true |
fn:ends-with(string1,string2) |
Se string1 finisce con string2, restituisce true, altrimenti restituisce false. Esempio: ends-with('XML','X') risultato: false |
fn:substring-before(string1,string2) |
Restituisce la sottostringa precedente a string2 all'interno di string1. Esempio: substring-before('12/10','/') Risultato: '12' |
fn:substring-after(string1,string2) |
Restituisce la sottostringa successiva a string2 all'interno di string1. Esempio: substring-after('12/10','/') Risultato: '10' |
fn:matches(string,pattern) |
Se il parametro stringa corrisponde al modello specificato, restituisce true, altrimenti restituisce false. Esempio: matches("Merano", "ran") Risultato: true |
fn:replace(string,pattern,replace) |
Sostituisci il modello specificato con il parametro replace e restituisci il risultato. Esempio: replace("Bella Italia", "l", "*") Risultato: 'Be**a Ita*ia' Esempio: replace("Bella Italia", "l", "") Risultato: 'Bea Itaia' |
fn:tokenize(string,pattern) |
Esempio: tokenize("XPath is fun", "\s+") Risultato: ("XPath", "is", "fun") |
Funzioni per anyURI
Nome | Spiegazione |
---|---|
fn:resolve-uri(relative,base) |
Funzioni relative ai valori booleani
Nome | Spiegazione |
---|---|
fn:boolean(arg) | Restituisce il valore booleano di un numero, una stringa o un insieme di nodi. |
fn:not(arg) |
Prima di tutto, riporta il parametro a un valore booleano utilizzando la funzione boolean(). Se il valore booleano è false, restituisce true, altrimenti restituisce true. Esempio: not(true()) risultato: false |
fn:true() |
Restituisce il valore booleano true. Esempio: true() Risultato: true |
fn:false() |
Restituisce il valore booleano false. Esempio: false() risultato: false |
Funzioni relative alla durata, data e ora
Funzione di estrazione dei componenti di data, ora e durata
Nome | Spiegazione |
---|---|
fn:dateTime(date,time) | Converti il parametro in una data e ora. |
fn:years-from-duration(datetimedur) | Restituisce l'intero parte dell'anno del valore del parametro, espresso nel modo di espressione standard. |
fn:months-from-duration(datetimedur) | Restituisce l'intero parte del mese del valore del parametro, espresso nel modo di espressione standard. |
fn:days-from-duration(datetimedur) | Restituisce l'intero parte del giorno del valore del parametro, espresso nel modo di espressione standard. |
fn:hours-from-duration(datetimedur) | Restituisce l'intero rappresentante la parte oraria del valore, rappresentato secondo la notazione lessicale standard. |
fn:minutes-from-duration(datetimedur) | Restituisce l'intero rappresentante la parte minütia del valore, rappresentato secondo la notazione lessicale standard. |
fn:seconds-from-duration(datetimedur) | Restituisce il numero decimale della parte minütia del valore, rappresentato secondo la notazione lessicale standard. |
fn:year-from-dateTime(datetime) |
Restituisce l'intero rappresentante la parte annuale del valore locale del parametro. Esempio: year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Risultato: 2005 |
fn:month-from-dateTime(datetime) |
Restituisce l'intero rappresentante la parte mensile del valore locale del parametro. Esempio: month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Risultato: 01 |
fn:day-from-dateTime(datetime) |
Restituisce l'intero rappresentante la parte giornaliera del valore locale del parametro. Esempio: day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Risultato: 10 |
fn:hours-from-dateTime(datetime) |
Restituisce l'intero rappresentante la parte oraria del valore locale del parametro. Esempio: hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Risultato: 12 |
fn:minutes-from-dateTime(datetime) |
Restituisce l'intero rappresentante la parte minütia del valore locale del parametro. Esempio: minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Risultato: 30 |
fn:seconds-from-dateTime(datetime) |
Restituisce il numero decimale della parte secondaria del valore locale del parametro. Esempio: seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10")) Risultato: 0 |
fn:timezone-from-dateTime(datetime) | Restituisce la parte di fuso orario del parametro, se esiste. |
fn:year-from-date(date) |
Restituisce l'intero rappresentante l'anno nel valore locale del parametro. Esempio: year-from-date(xs:date("2005-04-23")) Risultato: 2005 |
fn:month-from-date(date) |
Restituisce l'intero che rappresenta la parte mensile del valore locale del parametro. Esempio: month-from-date(xs:date("2005-04-23")) Risultato: 4 |
fn:day-from-date(date) |
Restituisce l'intero che rappresenta la parte giornaliera del valore locale del parametro. Esempio: day-from-date(xs:date("2005-04-23")) Risultato: 23 |
fn:timezone-from-date(date) | Restituisce la parte di fuso orario del parametro, se esiste. |
fn:hours-from-time(time) |
Restituisce l'intero che rappresenta la parte oraria del valore locale del parametro. Esempio: hours-from-time(xs:time("10:22:00")) Risultato: 10 |
fn:minutes-from-time(time) |
Restituisce l'intero che rappresenta la parte minutoria del valore locale del parametro. Esempio: minutes-from-time(xs:time("10:22:00")) Risultato: 22 |
fn:seconds-from-time(time) |
Restituisce l'intero che rappresenta la parte secondaria del valore locale del parametro. Esempio: seconds-from-time(xs:time("10:22:00")) Risultato: 0 |
fn:timezone-from-time(time) | Restituisce la parte di fuso orario del parametro, se esiste. |
fn:adjust-dateTime-to-timezone(datetime,timezone) | Se il parametro timezone è vuoto, restituisce il dateTime senza fuso orario. Altrimenti, restituisce il dateTime con fuso orario. |
fn:adjust-date-to-timezone(date,timezone) | Se il parametro timezone è vuoto, restituisce la data senza fuso orario. Altrimenti, restituisce la data con fuso orario. |
fn:adjust-time-to-timezone(time,timezone) | Se il parametro timezone è vuoto, restituisce il tempo senza fuso orario. Altrimenti, restituisce il tempo con fuso orario. |
Funzioni correlate ai QNames
Nome | Spiegazione |
---|---|
fn:QName() | |
fn:local-name-from-QName() | |
fn:namespace-uri-from-QName() | |
fn:namespace-uri-for-prefix() | |
fn:in-scope-prefixes() | |
fn:resolve-QName() |
Funzioni relative ai nodi
Nome | Spiegazione |
---|---|
|
Restituisce il nome del nodo corrente o del primo nodo del set di nodi specificato. |
|
Restituisce il nome del nodo corrente o del primo nodo del set di nodi specificato - senza prefisso di namespace. |
|
Restituisce l'URI del namespace del nodo corrente o del primo nodo del set di nodi specificato. |
fn:lang(lang) |
Restituisce true se il linguaggio del nodo corrente corrisponde al linguaggio specificato. Esempio: Lang("en") è true per <p xml:lang="en">...</p> Esempio: Lang("de") è false per <p xml:lang="en">...</p> |
|
Restituisce il nodo radice del albero dei nodi del nodo corrente o del nodo specificato. Di solito è il nodo documento. |
Funzioni relative alle sequenze
Funzione generale
Nome | Spiegazione |
---|---|
fn:index-of((item,item,...),searchitem) |
Restituisce la posizione degli elementi nella sequenza di oggetti che sono uguali al parametro searchitem. Esempio: index-of ((15, 40, 25, 40, 10), 40) Risultato: (2, 4) Esempio: index-of (("a", "dog", "and", "a", "duck"), "a") Risultato (1, 4) Esempio: index-of ((15, 40, 25, 40, 10), 18) Risultato: () |
fn:remove((item,item,...),position) |
Restituisce una nuova sequenza costruita con il parametro item - elimina l'elemento specificato dalla posizione del parametro. Esempio: remove(("ab", "cd", "ef"), 0) Risultato: ("ab", "cd", "ef") Esempio: remove(("ab", "cd", "ef"), 1) Risultato: ("cd", "ef") Esempio: remove(("ab", "cd", "ef"), 4) Risultato: ("ab", "cd", "ef") |
fn:empty(item,item,...) |
Se il valore del parametro è una sequenza vuota, restituisce true, altrimenti restituisce false. Esempio: empty(remove(("ab", "cd"), 1)) risultato: false |
fn:exists(item,item,...) |
ritorna true se il valore del parametro non è una sequenza vuota, altrimenti ritorna false. esempio: exists(remove(("ab"), 1)) risultato: false |
fn:distinct-values((item,item,...),collation) |
ritorna i valori unici. esempio: distinct-values((1, 2, 3, 1, 2)) risultato: (1, 2, 3) |
fn:insert-before((item,item,...),pos,inserts) |
ritorna una nuova sequenza costruita dal parametro item, inserendo il valore specificato nel parametro inserts alla posizione specificata dal parametro pos. esempio: insert-before(("ab", "cd"), 0, "gh") risultato: ("gh", "ab", "cd") esempio: insert-before(("ab", "cd"), 1, "gh") risultato: ("gh", "ab", "cd") esempio: insert-before(("ab", "cd"), 2, "gh") risultato: ("ab", "gh", "cd") esempio: insert-before(("ab", "cd"), 5, "gh") risultato: ("ab", "cd", "gh") |
fn:reverse((item,item,...)) |
ritorna l'ordine inverso degli elementi specificati. esempio: reverse(("ab", "cd", "ef")) risultato: ("ef", "cd", "ab") esempio: reverse(("ab")) risultato: ("ab") |
fn:subsequence((item,item,...),start,len) |
ritorna una sequenza di elementi specificata dalla posizione iniziale indicata dal parametro start e dalla lunghezza specificata dal parametro len. La posizione del primo elemento è 1. esempio: subsequence(($item1, $item2, $item3,...), 3) risultato: ($item3, ...) esempio: subsequence(($item1, $item2, $item3, ...), 2, 2) risultato: ($item2, $item3) |
fn:unordered((item,item,...)) | ritorna gli elementi in base all'ordine determinato dall'implementazione. |
funzione di test della capacità della sequenza
Nome | Spiegazione |
---|---|
fn:zero-or-one(item,item,...) | Restituisce il parametro se contiene zero o un elemento, altrimenti genera un errore |
fn:one-or-more(item,item,...) | Restituisce il parametro se contiene uno o più elementi, altrimenti genera un errore |
fn:exactly-one(item,item,...) | Restituisce il parametro se contiene un elemento, altrimenti genera un errore |
Uguale, Unione, Intersezione e Differenza
Nome | Spiegazione |
---|---|
fn:deep-equal(param1,param2,collation) | Restituisce true se param1 e param2 sono uguali (deep-equal), altrimenti restituisce false |
Funzione di totale
Nome | Spiegazione |
---|---|
fn:count((elemento,elemento,...)) | Restituisce il numero di nodi |
fn:avg((arg,arg,...)) |
Restituisce la media dei valori dei parametri Esempio: avg((1,2,3)) Risultato: 2 |
fn:max((arg,arg,...)) |
Restituisce il parametro che è maggiore rispetto agli altri parametri Esempio: max((1,2,3)) Risultato: 3 Esempio: max(('a', 'k')) Risultato: 'k' |
fn:min((arg,arg,...)) |
Restituisce il parametro che è minore rispetto agli altri parametri Esempio: min((1,2,3)) Risultato: 1 Esempio: min(('a', 'k')) Risultato: 'a' |
fn:sum(arg,arg,...) | Restituisce la somma dei valori numerici di ciascun nodo nella raccolta di nodi specificata |
Funzione per generare una sequenza
Nome | Spiegazione |
---|---|
fn:id((stringa,stringa,...),nodo) | Restituisce una sequenza di nodi elementari che hanno un valore ID uguale al valore di uno o più dei valori specificati nel parametro stringa |
fn:idref((stringa,stringa,...),nodo) | Restituisce una sequenza di nodi elementari o attributo che hanno un valore IDREF uguale al valore di uno o più dei valori specificati nel parametro stringa |
fn:doc(URI) | |
fn:doc-available(URI) | Restituire true se la funzione doc() restituisce un nodo documento, altrimenti restituire false. |
|
Funzione di contesto
Nome | Spiegazione |
---|---|
fn:position() |
Restituire la posizione dell'indice del nodo attualmente trattato. Esempio: //book[position()<=3] Risultato: selezionare i primi tre elementi book |
fn:last() |
Restituire il numero di elementi nella lista dei nodi trattati. Esempio: //book[last()] Risultato: selezionare l'ultimo elemento book |
fn:current-dateTime() | Restituire il dateTime corrente (con timezone). |
fn:current-date() | Restituire la data corrente (con timezone). |
fn:current-time() | Restituire l'ora corrente (con timezone). |
fn:implicit-timezone() | Restituire il valore della timezone implicita. |
fn:default-collation() | Restituire il valore della collazione predefinita. |
fn:static-base-uri() | Restituire il valore di base-uri. |
- Pagina precedente Sommario XPath
- Pagina successiva Tutorial XPath