13.07.2013 Views

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 ...

SHOW MORE
SHOW LESS

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

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!