Soit le fichier XML suivant permettant de représenter un glossaire.
<?xml version="1.0" encoding="UTF-8"?>
<glossaire>
<definition id="xml">
<terme>XML</terme>
<explication>XML est un méta-langage.</explication>
</definition>
<definition id="sgml">
<terme>SGML</terme>
<explication>SGML est un méta-langage.</explication>
<voirAussi ref="xml"/>
</definition>
</glossaire>
Pour les cinq questions suivantes, le nœud courant est glossaire
.
Que renvoie l'expression XPath suivante : ./*
<definition id="xml">
<terme>XML</terme>
<explication>XML est un méta-langage.</explication>
</definition>
<definition id="sgml">
<terme>SGML</terme>
<explication>SGML est un méta-langage.</explication>
<voirAussi ref="xml"/>
</definition>
Que renvoie l'expression XPath suivante : ./explication
Rien
Que renvoie l'expression XPath suivante : //terme/text()
XML
SGML
Écrire le XPath permettant de renvoyer les nœuds terme
, qui ont definition
comme père.
./definition/terme
(ou //definition/terme
)
Écrire le XPath permettant de renvoyer les nœuds voirAussi
qui ont la valeur xml
pour leur attribut ref
..
./definition/voirAussi[@ref='xml']
(ou //voirAussi[@ref='xml']
)
Pour les trois questions suivantes, le nœud courant est le premier nœud definition
, celui dont l'attribut id="xml"
.
Écrire le XPath permettant de renvoyer les nœuds voirAussi
qui ont la valeur xml
pour leur attribut ref
.
../definition/voirAussi[@ref='xml']
Écrire le XPath permettant de renvoyer les nœuds definition
qui contiennent un élément voirAussi
qui a la valeur xml
pour son attribut ref
.
../definition[voirAussi/@ref='xml']
Écrire le XPath permettant de renvoyer le texte des nœuds terme
fils des definition
qui contiennent un élément voirAussi
qui a la valeur xml
pour son attribut ref
.
../definition[voirAussi/@ref='xml']/terme/text()
Pour les deux questions suivantes, le nœud courant est un nœud definition
quelconque.
Écrire le XPath permettant de tester si le nœud courant contient un élément voirAussi
qui se référence lui même (qui a la même valeur pour ref
que l'attribut id
).
./voirAussi/@ref=@id
Écrire le XPath permettant de renvoyer les nœuds suivants qui se référencent eux-mêmes.
following::definition[voirAussi/@ref=@id]