Enseignement > encodage / XML / HTML > TD n°3 - XPATH  

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

  • les titres de tous les albums    
    /albums/album/titre  ou plus simplement   //titre
  • les numéros de tous les albums  
    /albums/album/@numero   ou plus simplement //album/@numero

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