TD n°3 - Utilisation de XPATH
Exercice n°1
On utilisera un fichier XML contenant des données sur des bandes dessinées.
Requêtes de base
Afficher
Requêtes simples avec des conditions
Afficher
- les albums ayant le numero 6
//album[@numero="6"]
- l'année de parution des albums ayant le numéro 9
//album[@numero="9"]/date/annee
- les titres des albums ayant un numéro supérieur à 20
//album[@numero>"20"]/titre
- les informations de l'album "Le Lotus bleu"
//album[titre="Le Lotus bleu"]
- le numéro de l'album "La Serpe d'or"
//album[titre="La Serpe d'or"]/@numero
- Le 7e album de Tintin
//album[@serie="Tintin"][@numero="7"]
- Les albums sortis en 1963
//album/date[annee="1963"]/..
- Les albums d'Hergé qui ne sont pas de la série Tintin
//album[auteur="Hergé"][@serie!="Tintin"]
- Le nombre d'album d'Astérix
count(//album[@serie="Astérix"])
- Le titre du dernier album de la liste
//album[last()]
- Le dernier album de Tintin (dans la liste)
//album[@serie="Tintin"][last()]
Requêtes complexes
Afficher
- l'album précédant "On a marché sur la Lune"
//album[titre="On a marché sur la Lune"]/preceding-sibling::album[1]
- l'album suivant "Les Sept Boules de cristal"
//album[titre="Les Sept Boules de cristal"]/following-sibling::album[1]
- les albums dont le titre commence par "Tintin au
//album[starts-with(titre,"Tintin au")]
Exercice n°2
On utilisera un fichier XML contenant des données sur les missions spatiales.
Afficher
- les noms des nations qui ont un programme spatial
- les noms des astronautes dont le rôle a été au moins une fois pilote (il se peut que certains soient en double).
- les noms des missions effectuées par Gordon Cooper.
- les dates des missions dont le but est absent ou vide.
- le pilote de la mission Apollo 11.
- les noms des missions ayant au moins un but en commun avec ceux de Gemini 12.
- les buts des missions du programme Apollo avec Gene Cernan.
- la dernière mission automatique russe (la dernière mission automatique du dernier programme, tel que dans le fichier, ne pas se baser sur la date).
- la mission qui précède Soyouz 4 dans le fichier.
- les noms des missions qui ne comptent qu’un seul astronaute