Opérateurs et fonctions XPath

Opérateurs et fonctions XPath


XML cours tutorial

Une expression XPath renvoie un ensemble de nœuds, une chaîne, une valeur booléenne ou un nombre.



Opérateurs de XPath



Voici une liste des opérateurs qui peuvent être utilisés dans les expressions XPath :

Opérateur

Description

Exemple

Valeur de retour

|

Calcule les deux ensembles de nœud

//Book | //CD

Renvoie un ensemble de nœuds avec tous les éléments  Book et CD

+

Addition

6 + 4

10

-

Soustraction

6 - 4

2

*

Multiplication

6 * 4

24

Div

Division

8 div 4

2

=

Égalité

prix = 9,80

True si le prix est de 9,80
false si le prix est 9,90

!=

Pas égal

prix! = 9,80

True si le prix est 9,90
false si le prix est de 9,80

<

Moins de

Prix < 9,80

True si le prix est de 9,00
false si le prix est de 9,80

< =

Inférieur ou égal à

Prix < = 9,80

True si le prix est de 9,00
false si le prix est 9,90

>

Plus de

Prix > 9,80

True si le prix est 9,90
false si le prix est de 9,80

> =

Supérieur ou égal à

Prix > = 9,80

True si le prix est 9,90
false si le prix est 9,70

or

ou

prix = 9,80 ou prix = 9,70

True si le prix est de 9,80
false si le prix est de 9,50

and

et

Prix > 9.00 et prix < 9,90

True si le prix est de 9,80
false si le prix est de 8,50

mod

Module (reste de la division)

5 mod 2

1

 



Fonctions de XPath



Les fonctions sont utilisables dans

  • les expressions logiques,
  • les clauses <xsl:value-of ...> des feuilles de style XSL.


Fonctions sur les nombres


Fonction

hDescriptionh

number(object) 

 Traduire l'objet sous la forme d'un nombre. renvoie NaN si l'objet ne représente pas un nombre.

sum(nœuds)

Renvoie la somme des noeuds après les avoir transformés en nombre.

count(noeuds) 

 Renvoie le nombre de noeuds.

floor(nombre) 

 Arrondi par le bas.

ceiling(nombre) 

 Arrondi par le haut.

round(nombre) 

 Arrondi par le plus proche.


Fonctions sur les booléens


Fonction

Description

true() :

 toujours vraie.

false()   

toujours fausse.

boolean(objet) 

vraie si l'objet est égale à la constante « true ».

not(booléen) 

vraie si le paramètre est faux.


Fonctions sur les noeuds


Fonction

Description

last() 

vraie si le noeud est le dernier du contexte courant.

position() 

 renvoie la position dans le contexte du noeud courant.

local-name(noeuds) 

renvoie la partie locale de l'étiquette d'un noeud.

namespace-uri(noeuds) 

 renvoie la partie espaces de nom de l'étiquette d'un noeud.

name(noeuds) 

renvoie l'étiquette d'un noeud.

id(nom) 

renvoie le noeud identifié par l'étiquette nom.



Fonctions sur les chaînes



Fonction

Description

string(objet) 

 renvoie une version chaîne du paramètre.

concat(chaîne1,...,chaîneN) 

concaténation de chaînes.

string-length(chaîne) 

renvoie la longueur d'une chaîne.

normalize-space(chaîne) 

renvoie une version normalisée (suppression des blancs au début et à la fin et remplacement de toute suite de blancs par un seul).

translate(chaîne1,chaîne2,chaîne3) 

 renvoie une chaîneaîne construite à partir de chaîne1 dans laquelle les caractères présents dans chaîne2 sont remplacés par les caractères de même position dans chaîne3.

substring-before(chaîne1,chaîne2) 

 renvoie la chaîne res définie par chaîne1 = res + chaîne2 + reste.

substring-after(chaîne1,chaîne2) 

 renvoie la chaîne res définie par chaîne1 = reste + chaîne2 + res.

substring(chaîne,début) et substring(chaîne,début,len) 

extraction de sous-chaîne.

starts-with(chaîne1,chaîne2) 

vraie si chaîne1 débute par chaîne2.

contains(chaîne1,chaîne2) 

vraie si chaîne1 contient chaîne2.


Fonctions sur des durées, Dates et heures


Fonctions d'Extraction de composant sur la durée, les Dates et les heures

Nom

Description

fn:dateTime(date,time)

Convertit les arguments à une date et une heure

fn:years-from-duration(datetimedur)

Renvoie un entier qui représente le composant années dans la représentation lexicale canonique de la valeur de l'argument

fn:months-from-duration(datetimedur)

Renvoie un entier qui représente le composant de mois dans la représentation lexicale canonique de la valeur de l'argument

fn:days-from-duration(datetimedur)

Renvoie un entier qui représente le composant de jours dans la représentation lexicale canonique de la valeur de l'argument

fn:hours-from-duration(datetimedur)

Renvoie un entier qui représente le composant heures dans la représentation lexicale canonique de la valeur de l'argument

fn:minutes-from-duration(datetimedur)

Renvoie un entier qui représente le composant de minutes dans la représentation lexicale canonique de la valeur de l'argument

fn:seconds-from-duration(datetimedur)

Renvoie un nombre décimal qui représente le composant secondes dans la représentation lexicale canonique de la valeur de l'argument

fn:year-from-dateTime(datetime)

Renvoie un entier qui représente la composante de l'année dans la valeur localisée de l'argument

Exemple : year-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))
Résultat : 2005

fn:month-from-dateTime(datetime)

Renvoie un entier qui représente le composant de mois dans la valeur localisée de l'argument

Exemple : month-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))
Résultat : 01

fn:day-from-dateTime(datetime)

Renvoie un entier qui représente le composant de jour dans la valeur localisée de l'argument

Exemple : day-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))
Résultat : 10

fn:hours-from-dateTime(datetime)

Renvoie un entier qui représente le composant heures dans la valeur localisée de l'argument

Exemple : hours-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))
Résultat : 12

fn:minutes-from-dateTime(datetime)

Renvoie un entier qui représente le composant de minutes dans la valeur localisée de l'argument

Exemple : minutes-from-dateTime(xs:dateTime("2005-01-10T12:30-04:10"))
Résultat : 30

fn:seconds-from-dateTime(datetime)

Renvoie un nombre décimal qui représente le composant secondes dans la valeur localisée de l'argument

Exemple : seconds-from-dateTime(xs:dateTime("2005-01-10T12:30:00-04:10"))
Résultat: 0

fn:timezone-from-dateTime(datetime)

Retourne le composant de fuseau horaire de l'argument, le cas échéant

fn:year-from-date(date)

Renvoie un entier qui représente l'année dans la valeur localisée de l'argument

Exemple : year-from-date(xs:date("2005-04-23"))
Résultat : 2005

fn:month-from-date(date)

Renvoie un entier qui représente le mois dans la valeur localisée de l'argument

Exemple : month-from-date(xs:date("2005-04-23"))
Résultat: 4

fn:day-from-date(date)

Renvoie un entier qui représente le jour dans la valeur localisée de l'argument

Exemple : day-from-date(xs:date("2005-04-23"))
Résultat : 23

fn:timezone-from-date(date)

Retourne le composant de fuseau horaire de l'argument, le cas échéant

fn:hours-from-time(time)

Renvoie un entier qui représente le composant heures dans la valeur localisée de l'argument

Exemple : hours-from-time(xs:time("10:22:00"))
Résultat : 10

fn:minutes-from-time(time)

Renvoie un entier qui représente le composant de minutes dans la valeur localisée de l'argument

Exemple : minutes-from-time(xs:time("10:22:00"))
Résultat : 22

fn:seconds-from-time(time)

Renvoie un entier qui représente le composant secondes dans la valeur localisée de l'argument

Exemple : seconds-from-time(xs:time("10:22:00"))
Résultat: 0

fn:timezone-from-time(time)

Retourne le composant de fuseau horaire de l'argument, le cas échéant

fn:adjust-dateTime-to-timezone(datetime,timezone)

Si l'argument de fuseau horaire est vide, elle retourne un dateTime sans un fuseau horaire. Sinon, elle retourne un dateTime avec un fuseau horaire

fn:adjust-date-to-timezone(date,timezone)

Si l'argument de fuseau horaire est vide, elle retourne une date sans un fuseau horaire. Sinon, elle renvoie une date avec un fuseau horaire

fn:adjust-time-to-timezone(time,timezone)

Si l'argument de fuseau horaire est vide, il retourne une heure sans un fuseau horaire. Sinon, elle renvoie une fois avec un fuseau horaire

Les fonctions de XPATH sont très nombreuses si vous voulez voir plus de fonction
voir le site de W3C



Cours precedent:
cours precedent  XPATH axes
    Sommaire de :
Le langage XML
 Cours suivant:
Espaces de noms XML   cours suivant
Par carabde 10 mai 2014