Saisir un mot clé:
 
 

XPath

Ce site est un miroir du site http://fr.wikipedia.org/wiki/Accueil

XPath

Un article de Wikipédia, l'encyclopédie libre.

XPath est une syntaxe (non XML) pour désigner une portion d'un document XML. Initialement créé pour fournir une syntaxe et une sémantique aux fonctions communes à XPointer et XSL, XPath a rapidement été adopté par les développeurs comme un petit langage d'interrogation.

Sommaire

[] Notation

Il existe deux types de notation : la notation normale et la notation dite « compacte ».

Les deux notations sont adaptées à une utilisation dans les attributs XML. Une expression XPath caractéristique est un chemin de localisation constitué par une suite d'éléments ou d'attributs séparés par une barre de fraction (« / »), ressemblant au chemin dans un système de fichiers. XPath fournit des fonctions intégrées, permet d'utiliser des variables, de définir des filtres et de spécifier des axes.

Les chemins de localisations sont divisés en étapes qui ont chacune 3 composants :

  • un axe,
  • un test de n?ud,
  • des prédicats.

L'axe indique le type d'information qui sera sélectionnée, relativement au n?ud courant ou depuis la racine. Par exemple, child:: est la syntaxe non-abrégée de l'axe des enfants du n?ud courant. Dans beaucoup d'expressions XPath, quand l'axe n'est pas précisé, il s'agit implicitement de l'axe des enfants (child::). Un autre axe largement utilisé est celui des attributs, représenté avec le caractère 'arobase' ("@").

Un test de n?ud définit les éléments ou attributs à désigner. Le n?ud de test le plus utilisé est le test du nom de l'élément ou d'un attribut.

Les prédicats sont des expressions plus complexes ; ils sont utilisés pour filtrer ou exclure certains n?uds. Les prédicats sont écrits entre crochets (« [ », « ] »).

XPath offre ainsi une recherche séquentielle par n?uds.

[] Exemples

Considérons le document XML suivant :

 <?xml version="1.0"?>
 <racine>
  <encyclopedie nom="Wikipedia" site="http://fr.wikipedia.org/">
   <article nom="XPath"></article>   
  </encyclopedie>
 </racine>

alors les expressions XPath suivantes

Expression XPath Résultat
/ sélectionne un n?ud "fictif", dit root element, qui englobe tout le document sauf <?xml version="1.0"?>
/root sélectionne le n?ud vide, puisqu'il n'y a pas d'élément "root" (mais "racine")
//article sélectionne tous les éléments "article" du document où qu'ils soient
/racine/encyclopedie sélectionne l'unique élément "encyclopedie" puisqu'il est ici le seul fils de "racine" portant ce nom
//article[@nom='XPath'] sélectionne tous les éléments "article" du document où qu'ils soient, ayant un attribut "nom" dont la valeur est "XPath"

Toutes ces expressions XPath sont absolues, c'est-à-dire qu'elles donnent le même résultat quel que soit le contexte. Les expressions suivantes sont relatives. Si le contexte courant est l'unique élément "encyclopedie", elles donnent :

Expression XPath Résultat
article sélectionne l'élément "article"
racine ne sélectionne rien, vu le contexte
../racine sélectionne l'élément "racine", puisqu'il est parent de l'élément courant

Le résultat de ces sélections dépendra de la nature de la tâche.

- en affichage, ce sera la valeur textuelle, propre à chaque type d'élément, qui apparaîtra. Si plusieurs n?uds sont sélectionnés, comme pour //article, seul le premier est concerné.

- en sélection, il se comportera comme un pointeur sur lequel d'autres requêtes XPath pourront être effectuées.

[] Utilisations de XPath

XPath est le langage de description des n?uds dans XSLT.

XPath est toujours utilisé comme langage de requêtes dans les bases de données XML, en général en concurrence avec XQuery.

XPath est utilisé comme langage d'expression des règles dans Schematron, et partiellement aussi dans XML Schema.

XPath peut être utilisé depuis la ligne de commande, ici avec la commande xpath qui vient du module Perl XML::XPath. Ici, on cherche les URL des articles dans un flux de syndication Atom :

$ xpath -e '//link[@rel="alternate"]/@href' feed.atom

Autre exemple, avec xfind pour chercher des fichiers (XML servant à modéliser les attributs du fichier) :

$ ./find -xpath '/bin/*[@size > /bin/bash/@size]' /bin/ipv6calc /bin/rpm

[] Evolutions

La syntaxe XPath a évolué pour devenir plus complète. La norme XPath 2.0, recommandation W3C depuis le 23 janvier 2007 est prévue pour être utilisée dans les langages XSLT 2.0 et XQuery 1.0, entre autres.

[] Voir aussi

[] Liens externes

 
Le Texte ci-dessus est disponible sous GNU Free Documentation License.
La source est wikipedia http://fr.wikipedia.org/wiki/XPath
Home

Données
A la une
Articles
Formatons en lignes
Téléchargement
Licence GNU
Encyclopedie
Portail logiciels libres

Partenaires

beyrouthsurseine.com
Sonnerie & Logos
Photos-Video
Ringtones-Sonnerie
Actualite.org
Terrain tennis

  
Novembre 2008
L
M
M
J
V
S
D
1 2
3456789
1011 1213141516
17181920212223
24252627282930
     
Tous les Logos et Marques sont déposés, les commentaires sont sous la responsabilité de ceux qui les ont publiés, le reste © technicmania.com