Vous êtes sur la page 1sur 2

TP XPath XQuery

Ouvrir dans BaseX le fichier arbres.xml

Lancer les requêtes Xpath suivantes :

 //lieu/nom
 //arbre[genre="Quercus" and hauteur>=30 and lieu//@arrondissement=12]
 string(//arbre[@id=8]//@arrondissement)
 //arbre[starts-with(nom_commun, "Chene")]/(espece|nom_commun)
 distinct-values(//genre)
 min(//arbre/annee)

Requêtes XQuery
1) Une variable « grands » stocke la hauteur des arbres dont la hauteur est
strictement supérieure à 40 m. On vous demande de retourner la réponse
entres les balises <geants> et </geants>

2) Une variable nombre stocke le nombre d’arbres et une variable moyenne


stoke le moyenne de la hauteur de ces arbres
Utiliser les clauses let et retourner le bloc suivant :

<html>
<body lang="fr">Il y a 97 arbres, de 22.3125m de haut en moyenne</body>
</html>

3) Retourner le bloc ci dessous :


<html>
<body lang="fr">Il y a 97 arbres, de 22.3125m de haut en moyenne</body>
</html>

En utilisant : element html, element body, attribute lang

4) On définit une variable $arbre qui parcoure //arbre


A une variable $arrond on affecte $arbre//@arrondissement
Utiliser order by number($arrond) et retourner les résultats dans des balises
<arbre>

5) Utilisation de la fonction distinct-values


On veut retourner des résultats de la forme :

<type genre="Calocedrus">1</type>
<type genre="Pterocarya">3</type>
<type genre="Celtis">1</type>
<type genre="Quercus">4</type>
….
Ecrire la requête correspondante en utilisant une variable $genre qui parcoure
//genre
Une variale $nombre qui affecte le nombre des arbres ayant comme attribut
genre=$genre

distinct-values retourne la liste des valeurs (textes) distincts trouvés dans les
éléments sélectionnés par son paramètre.

6) Ecrire le morceau de code permettant d’afficher :

<nombres>
<nombre>16e arrondissement : 36 arbres</nombre>
<nombre>12e arrondissement : 29 arbres</nombre>
<nombre>19e arrondissement : 6 arbres</nombre>
<nombre>8e arrondissement : 5 arbres</nombre>
<nombre>7e arrondissement : 3 arbres</nombre>
<nombre>14e arrondissement : 3 arbres</nombre>
<nombre>20e arrondissement : 3 arbres</nombre>
<nombre>5e arrondissement : 2 arbres</nombre>
<nombre>13e arrondissement : 2 arbres</nombre>
<nombre>9e arrondissement : 1 arbre </nombre>
<nombre>15e arrondissement : 1 arbre</nombre>
<nombre>4e arrondissement : 1 arbre</nombre>
<nombre>11e arrondissement : 1 arbre</nombre>
<nombre>18e arrondissement : 1 arbre</nombre>
<nombre>17e arrondissement : 1 arbre</nombre>
<nombre>3e arrondissement : 1 arbre</nombre>
<nombre>6e arrondissement : 1 arbre</nombre>
</nombres>

Vous aimerez peut-être aussi