Requêtes OLAP sur une base de données XML native - Cercle ...
Requêtes OLAP sur une base de données XML native - Cercle ...
Requêtes OLAP sur une base de données XML native - Cercle ...
You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
4.2 XPath 28<br />
4.2 XPath<br />
Le langage d’expression <strong>de</strong> chemin <strong>XML</strong>, XPath, a été publié comme recommandation par<br />
le W3C en 1999 [19]. Jim Melton en fait <strong>une</strong> <strong>de</strong>scription complète dans son livre Querying<br />
<strong>XML</strong> [24]. Selon sa spécification, XPath a été créé pour fournir <strong>une</strong> syntaxe comm<strong>une</strong> pour les<br />
fonctionnalités partagées entre XSLT et XPointer. Son but est <strong>de</strong> pouvoir adresser <strong>de</strong>s parties<br />
d’un document <strong>XML</strong>. Autrement dit, XPath permet <strong>de</strong> sélectionner un ensemble <strong>de</strong> nœuds <strong>de</strong><br />
l’arbre <strong>XML</strong> à l’ai<strong>de</strong> d’<strong>une</strong> expression <strong>de</strong> chemin.<br />
La notation choisie pour XPath ressemble délibérément à la notation utilisée pour parcourir<br />
les systèmes <strong>de</strong> fichiers <strong>de</strong> type UNIX et à celle utilisée dans les URL <strong>sur</strong> Internet. Une expression<br />
typique XPath ressemble à la suivante :<br />
/ clients / client [ @id ="1548"]/ nom<br />
Cette expression se lit très facilement, du moins pour ceux qui sont habitués à utiliser un système<br />
<strong>de</strong> fichier. Si nous ne tenons pas compte <strong>de</strong> l’expression entre crochets, cette expression permet <strong>de</strong><br />
sélectionner les éléments nom <strong>de</strong>s éléments client contenus dans l’élément clients. L’expression<br />
entre crochets est un filtre. Celui-ci est constitué d’un prédicat. Ce filtre permet <strong>de</strong> sélectionner le<br />
ou les élément(s) client dont l’attribut id est égal à 1548. Pour illustrer, observons les résultats<br />
<strong>de</strong> cette requête <strong>sur</strong> le document suivant :<br />
< clients ><br />
<br />
Marc Dupont <br />
1958 -03 -06 <br />
In<strong>de</strong>pendant <br />
<br />
<br />
Luc Dubois <br />
1967 -12 -20 <br />
<br />
<br />
Le résultat <strong>de</strong> notre requête sera donc Luc Dubois.<br />
Les expressions <strong>de</strong> chemin sont composées d’étapes. Les étapes sont représentées à l’ai<strong>de</strong> d’un<br />
axe, d’un nom d’élément et d’un prédicat éventuel. Les axes permettent <strong>de</strong> définir le sens <strong>de</strong><br />
parcours du document <strong>XML</strong>. XPath définit un grand nombre d’axes comme enfant, <strong>de</strong>scendant,<br />
parent, ancêtre, frère suivant, . . . Nous présenterons les principaux axes XPath plus loin dans<br />
ce chapitre, au point 4.2.1. Les noms d’éléments sont similaires aux noms <strong>de</strong> dossiers ou <strong>de</strong><br />
répertoires <strong>de</strong>s systèmes <strong>de</strong> fichiers. Ils permettent <strong>de</strong> définir les éléments <strong>XML</strong> par lesquels le<br />
chemin doit passer. Les prédicats sont <strong>de</strong>s expressions logiques relatives à un élément. Ils doivent<br />
être écrits entre crochets et permettent <strong>de</strong> filtrer les éléments lors du parcours.<br />
Les expressions XPath sont ainsi faites qu’il est très facile <strong>de</strong> les comprendre en les lisant.<br />
Nous ne nous attar<strong>de</strong>rons donc pas <strong>sur</strong> leur définition formelle. Cependant, certains concepts ne