Fonctions XPath, XQuery et XSLT
- Page précédente Résumé XPath
- Page suivante Tutoriels XPath
Fonctions d'accès
Nom | Description |
---|---|
fn:node-name(node) | Retourne le nom de nœud du nœud de paramètre. |
fn:nilled(node) | Retourne une valeur booléenne indiquant si le nœud de paramètre est refusé. |
fn:data(item.item,...) | Accepte une séquence d'items et retourne une séquence de valeurs atomiques. |
|
Retourne la valeur de l'attribut base-uri du nœud courant ou spécifié. |
fn:document-uri(node) | Retourne la valeur de l'attribut document-uri du nœud spécifié. |
Fonctions d'erreur et de suivi
Nom | Description |
---|---|
|
Exemple : error(fn:QName('http://example.com/test', 'err:toohigh'), 'Error: Price is too high') Résultat : Retourne à l'environnement de traitement externe http://example.com/test#toohigh ainsi que la chaîne "Error: Price is too high". |
fn:trace(value,label) | Utilisé pour le debug des requêtes. |
Fonctions numériques
Nom | Description |
---|---|
fn:number(arg) |
Retourne la valeur numérique du paramètre. Le paramètre peut être une valeur booléenne, une chaîne ou un ensemble de nœuds. Exemple : number('100') Résultat : 100 |
fn:abs(num) |
Retourne la valeur absolue du paramètre. Exemple : abs(3.14) Résultat : 3.14 Exemple : abs(-3.14) Résultat : 3.14 |
fn:ceiling(num) |
Retourne l'entier le plus petit supérieur au paramètre num. Exemple : ceiling(3.14) Résultat : 4 |
fn:floor(num) |
Retourne le plus grand entier non supérieur au paramètre num. Exemple : floor(3.14) Résultat : 3 |
fn:round(num) |
Ronde num de manière à ce qu'il soit le plus proche de l'entier. Exemple : round(3.14) Résultat : 3 |
fn:round-half-to-even() |
Exemple : round-half-to-even(0.5) Résultat : 0 Exemple : round-half-to-even(1.5) Résultat : 2 Exemple : round-half-to-even(2.5) Résultat : 2 |
Fonctions de chaîne
Nom | Description |
---|---|
fn:string(arg) |
Retourne la valeur de chaîne du paramètre. Le paramètre peut être un nombre, une valeur logique ou un ensemble de nœuds. Exemple : string(314) Résultat : "314" |
fn:codepoints-to-string(int,int,...) |
Retourne une chaîne à partir d'une séquence de code points. Exemple : codepoints-to-string(84, 104, 233, 114, 232, 115, 101) Résultat : 'Thérèse' |
fn:string-to-codepoints(string) |
Retourne une séquence de code points à partir de la chaîne. Exemple : string-to-codepoints("Thérèse") Résultat : 84, 104, 233, 114, 232, 115, 101 |
fn:codepoint-equal(comp1,comp2) | Selon la comparaison de code point Unicode, si la valeur de comp1 est égale à la valeur de comp2, retourne true. Sinon, retourne false. (http://www.w3.org/2005/02/xpath-functions/collation/codepoint) |
|
Si comp1 est inférieur à comp2, retourne -1. Si comp1 est égal à comp2, retourne 0. Si comp1 est supérieur à comp2, retourne 1. (Selon les règles de comparaison utilisées). Exemple : compare('ghi', 'ghi') Résultat : 0 |
fn:concat(string,string,...) |
Retourne la concaténation des chaînes de caractères. Exemple : concat('XPath ','est ','FUN!') Résultat : 'XPath est FUN!' |
fn:rejoindre((string,string,...),sep) |
Utilise le paramètre sep comme séparateur pour retourner la chaîne concaténée des paramètres string. Exemple : string-join(('We', 'are', 'having', 'fun!'), ' ') Résultat : ' We are having fun! ' Exemple : string-join(('We', 'are', 'having', 'fun!')) Résultat : 'Wearehavingfun!' Exemple : string-join((), 'sep') Résultat : '' |
|
Retourne une sous-chaîne de la longueur spécifiée, commençant à la position start. L'index du premier caractère est 1. Si le paramètre len est omis, retourne la sous-chaîne de la position start à la fin de la chaîne. Exemple : substring('Beatles',1,4) Résultat : 'Beat' Exemple : substring('Beatles',2) Résultat : 'eatles' |
|
Retourne la longueur de la chaîne spécifiée. Si aucun paramètre string n'est fourni, retourne la longueur de la valeur de chaîne du noeud actuel. Exemple : string-length('Beatles') Résultat : 7 |
|
Supprime les espaces au début et à la fin de la chaîne spécifiée, remplace toutes les séquences d'espaces internes par un seul espace et retourne le résultat. Si aucun paramètre string n'est fourni, traite le noeud actuel. Exemple : normalize-space(' The XML ') Résultat : 'The XML' |
fn:normalize-unicode() | Exécute la normalisation Unicode. |
fn:upper-case(string) |
Convertit le paramètre string en majuscules. Exemple : upper-case('The XML') Résultat : 'THE XML' |
fn:lower-case(string) |
Convertit le paramètre string en minuscules. Exemple : lower-case('The XML') Résultat : 'the xml' |
fn:translate(string1,string2,string3) |
Remplacez string2 par string3 dans string1. Exemple : translate('12:30','30','45') Résultat : '12:45' Exemple : translate('12:30','03','54') Résultat : '12:45' Exemple : translate('12:30','0123','abcd') Résultat : 'bc:da' |
fn:escape-uri(stringURI,esc-res) |
Exemple : escape-uri("http://example.com/test#car", true()) Résultat : "http%3A%2F%2Fexample.com%2Ftest#car" Exemple : escape-uri("http://example.com/test#car", false()) Résultat : "http://example.com/test#car" Exemple : escape-uri ("http://example.com/~bébé", false()) Résultat : "http://example.com/~b%C3%A9b%C3%A9" |
fn:contains(string1,string2) |
Si string1 contient string2, retourne true, sinon retourne false. Exemple : contains('XML','XM') Résultat : true |
fn:starts-with(string1,string2) |
Si string1 commence par string2, retourne true, sinon retourne false. Exemple : starts-with('XML','X') Résultat : true |
fn:ends-with(string1,string2) |
Si string1 se termine par string2, retourne true, sinon retourne false. Exemple : ends-with('XML','X') Résultat : false |
fn:substring-before(string1,string2) |
Retourne la sous-chaine de caractères avant l'apparition de string2 dans string1. Exemple : substring-before('12/10','/') Résultat : '12' |
fn:substring-after(string1,string2) |
Retourne la sous-chaine de caractères après l'apparition de string2 dans string1. Exemple : substring-after('12/10','/') Résultat : '10' |
fn:matches(string,pattern) |
Retourne true si le paramètre string correspond au motif spécifié, sinon retourne false. Exemple : matches("Merano", "ran") Résultat : true |
fn:replace(string,pattern,replace) |
Remplace le motif spécifié par le paramètre replace et retourne le résultat. Exemple : replace("Bella Italia", "l", "*") Résultat : 'Be**a Ita*ia' Exemple : replace("Bella Italia", "l", "") Résultat : 'Bea Itaia' |
fn:tokenize(string,pattern) |
Exemple : tokenize("XPath is fun", "\s+") Résultat : ("XPath", "est", "fun") |
Fonctions concernant anyURI
Nom | Description |
---|---|
fn:resolve-uri(relative,base) |
Fonctions concernant les valeurs booléennes
Nom | Description |
---|---|
fn:boolean(arg) | Retourne la valeur booléenne d'un nombre, d'une chaîne ou d'un ensemble de nœuds. |
fn:not(arg) |
Le paramètre est d'abord restauré à une valeur booléenne par la fonction boolean(). Si cette valeur booléenne est false, retourne true, sinon retourne true. Exemple : not(true()) Résultat : false |
fn:true() |
Retourne la valeur booléenne true. Exemple : true() Résultat : true |
fn:false() |
Retourne la valeur booléenne false. Exemple : false() Résultat : false |
Fonctions concernant la durée, la date et l'heure
Fonction d'extraction des composants de date, heure et durée
Nom | Description |
---|---|
fn:dateTime(date,time) | Convertit le paramètre en date et heure. |
fn:years-from-duration(datetimedur) | Retourne la partie entière de l'année du paramètre sous forme de vocabulaire standard. |
fn:months-from-duration(datetimedur) | Retourne la partie entière du mois du paramètre sous forme de vocabulaire standard. |
fn:days-from-duration(datetimedur) | Retourne la partie entière du jour du paramètre sous forme de vocabulaire standard. |
fn:hours-from-duration(datetimedur) | Retourne l'entier des heures de la valeur, exprimé en termes standards. |
fn:minutes-from-duration(datetimedur) | Retourne l'entier des minutes de la valeur, exprimé en termes standards. |
fn:seconds-from-duration(datetimedur) | Retourne le nombre décimal des minutes de la valeur, exprimé en termes standards. |
fn:year-from-dateTime(datetime) |
Retourne l'entier représentant l'année de la valeur locale du paramètre. Exemple : year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Résultat : 2005 |
fn:month-from-dateTime(datetime) |
Retourne l'entier représentant le mois de la valeur locale du paramètre. Exemple : month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Résultat : 01 |
fn:day-from-dateTime(datetime) |
Retourne l'entier représentant le jour de la valeur locale du paramètre. Exemple : day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Résultat : 10 |
fn:hours-from-dateTime(datetime) |
Retourne l'entier représentant l'heure de la valeur locale du paramètre. Exemple : hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Résultat : 12 |
fn:minutes-from-dateTime(datetime) |
Retourne l'entier représentant la minute de la valeur locale du paramètre. Exemple : minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10")) Résultat : 30 |
fn:seconds-from-dateTime(datetime) |
Retourne le nombre décimal de secondes de la valeur locale du paramètre. Exemple : seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10")) Résultat : 0 |
fn:timezone-from-dateTime(datetime) | Retourne la partie fuseau horaire du paramètre, si elle existe. |
fn:year-from-date(date) |
Retourne l'entier représentant l'année dans la valeur locale du paramètre. Exemple : year-from-date(xs:date("2005-04-23")) Résultat : 2005 |
fn:month-from-date(date) |
Retourne l'entier représentant la partie mois du paramètre local. Exemple : month-from-date(xs:date("2005-04-23")) Résultat : 4 |
fn:day-from-date(date) |
Retourne l'entier représentant la partie jours du paramètre local. Exemple : day-from-date(xs:date("2005-04-23")) Résultat : 23 |
fn:timezone-from-date(date) | Retourne la partie fuseau horaire du paramètre, si elle existe. |
fn:hours-from-time(time) |
Retourne l'entier représentant la partie heures du paramètre local. Exemple : hours-from-time(xs:time("10:22:00")) Résultat : 10 |
fn:minutes-from-time(time) |
Retourne l'entier représentant la partie minutes du paramètre local. Exemple : minutes-from-time(xs:time("10:22:00")) Résultat : 22 |
fn:seconds-from-time(time) |
Retourne l'entier représentant la partie secondes du paramètre local. Exemple : seconds-from-time(xs:time("10:22:00")) Résultat : 0 |
fn:timezone-from-time(time) | Retourne la partie fuseau horaire du paramètre, si elle existe. |
fn:adjust-dateTime-to-timezone(datetime,timezone) | Si le paramètre timezone est vide, retourne un dateTime sans fuseau horaire. Sinon, retourne un dateTime avec fuseau horaire. |
fn:adjust-date-to-timezone(date,timezone) | Si le paramètre timezone est vide, retourne une date sans fuseau horaire. Sinon, retourne une date avec fuseau horaire. |
fn:adjust-time-to-timezone(time,timezone) | Si le paramètre timezone est vide, retourne un temps sans fuseau horaire. Sinon, retourne un temps avec fuseau horaire. |
Fonctions liées aux QNames
Nom | Description |
---|---|
fn:QName() | |
fn:local-name-from-QName() | |
fn:namespace-uri-from-QName() | |
fn:namespace-uri-for-prefix() | |
fn:in-scope-prefixes() | |
fn:resolve-QName() |
Fonctions liées aux noeuds
Nom | Description |
---|---|
|
Retourne le nom du noeud courant ou du premier noeud du jeu de noeuds spécifié. |
|
Retourne le nom du noeud courant ou du premier noeud du jeu de noeuds spécifié - sans préfixe d'espace de nom. |
|
Retourne l'URI d'espace de nom du noeud courant ou du premier noeud du jeu de noeuds spécifié. |
fn:lang(lang) |
Retourne true si le langage du noeud courant correspond au langage spécifié. Exemple : Lang("en") est true pour <p xml:lang="en">...</p> Exemple : Lang("de") est false pour <p xml:lang="en">...</p> |
|
Retourne le noeud racine du noeud ou du noeud spécifié appartenant à l'arbre de noeuds. Il s'agit généralement du noeud de document. |
Fonctions liées aux séquences
Fonction générale
Nom | Description |
---|---|
fn:index-of((item,item,...),searchitem) |
Retourne la position des éléments de la séquence égale au paramètre searchitem. Exemple : index-of ((15, 40, 25, 40, 10), 40) Résultat : (2, 4) Exemple : index-of (("a", "dog", "and", "a", "duck"), "a") Résultat (1, 4) Exemple : index-of ((15, 40, 25, 40, 10), 18) Résultat : () |
fn:remove((item,item,...),position) |
Retourne une nouvelle séquence construite à partir du paramètre item - supprimez l'élément spécifié par le paramètre position. Exemple : remove(("ab", "cd", "ef"), 0) Résultat : ("ab", "cd", "ef") Exemple : remove(("ab", "cd", "ef"), 1) Résultat : ("cd", "ef") Exemple : remove(("ab", "cd", "ef"), 4) Résultat : ("ab", "cd", "ef") |
fn:empty(item,item,...) |
Si la valeur du paramètre est une séquence vide, retourne true, sinon retourne false. Exemple : empty(remove(("ab", "cd"), 1)) Résultat : false |
fn:exists(item,item,...) |
Retourne true si la valeur du paramètre n'est pas une séquence vide, sinon retourne false. Exemple : exists(remove(("ab"), 1)) Résultat : false |
fn:distinct-values((item,item,...),collation) |
Retourne les valeurs uniques. Exemple : distinct-values((1, 2, 3, 1, 2)) Résultat : (1, 2, 3) |
fn:insert-before((item,item,...),pos,inserts) |
Retourne une nouvelle séquence construite à partir de l'élément spécifié par le paramètre item - en insérant la valeur spécifiée par le paramètre inserts à la position spécifiée par le paramètre pos. Exemple : insert-before(("ab", "cd"), 0, "gh") Résultat : ("gh", "ab", "cd") Exemple : insert-before(("ab", "cd"), 1, "gh") Résultat : ("gh", "ab", "cd") Exemple : insert-before(("ab", "cd"), 2, "gh") Résultat : ("ab", "gh", "cd") Exemple : insert-before(("ab", "cd"), 5, "gh") Résultat : ("ab", "cd", "gh") |
fn:reverse((item,item,...)) |
Retourne l'ordre inversé des éléments spécifiés. Exemple : reverse(("ab", "cd", "ef")) Résultat : ("ef", "cd", "ab") Exemple : reverse(("ab")) Résultat : ("ab") |
fn:subsequence((item,item,...),start,len) |
Retourne une séquence d'éléments à partir de la position spécifiée par le paramètre start, la longueur de la séquence est déterminée par le paramètre len. La position du premier élément est 1. Exemple : subsequence(($item1, $item2, $item3,...), 3) Résultat : ($item3, ...) Exemple : subsequence(($item1, $item2, $item3, ...), 2, 2) Résultat : ($item2, $item3) |
fn:unordered((item,item,...)) | Retourne les éléments en fonction de l'ordre déterminé par l'implémentation. |
Fonction de test de la capacité de la séquence
Nom | Description |
---|---|
fn:zero-or-one(item,item,...) | Retourne l'argument si il contient zéro ou un élément, sinon génère une erreur |
fn:one-or-more(item,item,...) | Retourne l'argument si il contient un ou plusieurs éléments, sinon génère une erreur |
fn:exactly-one(item,item,...) | Retourne l'argument si il contient un élément, sinon génère une erreur |
Égal, Union, Intersection et Except
Nom | Description |
---|---|
fn:deep-equal(param1,param2,collation) | Retourne true si param1 et param2 sont égaux (deep-equal), sinon retourne false |
Fonction de totalisation
Nom | Description |
---|---|
fn:count((élément,élément,...)) | Retourne le nombre de nœuds |
fn:avg((arg,arg,...)) |
Retourne la moyenne des valeurs des arguments Exemple : avg((1,2,3)) Résultat : 2 |
fn:max((arg,arg,...)) |
Retourne l'argument supérieur à d'autres arguments Exemple : max((1,2,3)) Résultat : 3 Exemple : max(('a', 'k')) Résultat : 'k' |
fn:min((arg,arg,...)) |
Retourne l'argument inférieur à d'autres arguments Exemple : min((1,2,3)) Résultat : 1 Exemple : min(('a', 'k')) Résultat : 'a' |
fn:sum(arg,arg,...) | Retourne la somme des valeurs numériques de chaque nœud dans le ensemble de nœuds spécifié |
Fonction générant une séquence
Nom | Description |
---|---|
fn:id((chaîne,chaîne,...),nœud) | Retourne une séquence de nœuds d'élément qui ont une valeur ID égale à la valeur de l'un ou plusieurs des valeurs spécifiées dans l'argument en chaîne |
fn:idref((chaîne,chaîne,...),nœud) | Retourne une séquence de nœuds d'élément ou d'attribut qui ont une valeur IDREF égale à la valeur de l'un ou plusieurs des valeurs spécifiées dans l'argument en chaîne |
fn:doc(URI) | |
fn:doc-available(URI) | Retourne true si la fonction doc() retourne un nœud de document, sinon retourne false. |
|
Fonctions de contexte
Nom | Description |
---|---|
fn:position() |
Retourner la position index du nœud traité en cours. Exemple : //book[position()<=3] Résultat : sélection des trois premiers éléments book |
fn:last() |
Retourner le nombre d'éléments dans la liste de nœuds traités. Exemple : //book[last()] Résultat : sélection de l'élément book dernier |
fn:current-dateTime() | Retourner le dateTime actuel (avec le fuseau horaire). |
fn:current-date() | Retourner la date actuelle (avec le fuseau horaire). |
fn:current-time() | Retourner l'heure actuelle (avec le fuseau horaire). |
fn:implicit-timezone() | Retourner la valeur de la zone horaire implicite. |
fn:default-collation() | Retourner la valeur de la correspondance par défaut. |
fn:static-base-uri() | Retourner la valeur de base-uri. |
- Page précédente Résumé XPath
- Page suivante Tutoriels XPath