Table des matières

TME XPath

Préparation

Ce TME utilise le SGBD XML BaseX.

Windows: cliquer sur l'icône **BaseX GUI** (ou lancer le script basexgui.bat)
Unix: exécuter bin/basexgui depuis le répertoire racine de basex

Dans BaseX:

Exercice: Films

On veut extraire des données du fichier Film.xml (le fichier est déjà dans le dossier tmexpath), dont la DTD est donnée ci-dessous:

<!ELEMENT FILMS (FILM*)>
<!ELEMENT FILM (TITRE, GENRE, PAYS, MES,ROLES,RESUME) >
<!ATTLIST FILM Annee CDATA#REQUIRED>
<!ELEMENT TITRE (#PCDATA) >
<!ELEMENT GENRE (#PCDATA) >
<!ELEMENT PAYS (#PCDATA) >
<!ELEMENT MES EMPTY >
<!ATTLIST MES idref IDREF #REQUIRED>
<!ELEMENT ROLES (ROLE*) >
<!ELEMENT ROLE (PRENOM,NOM,INTITULE) >
<!ELEMENT PRENOM (#PCDATA) >
<!ELEMENT NOM (#PCDATA) >
<!ELEMENT INTITULE (#PCDATA) >
<!ELEMENT RESUME (#PCDATA) >

Ecrivez les requêtes XPath permettant de récupérer:

  1. Tous les titres de films.
  2. Les titres des films d'horreur.
  3. Le résumé d'Alien.
  4. Titre des films avec James Stewart.
  5. Titre des films avec James Stewart et Kim Novak.
  6. Quels films ont un résumé ?
  7. Quels films n'ont pas de résumé ?
  8. Quel est l'identifiant du metteur en scène du film Vertigo?
  9. Quel rôle joue Harvey Keitel dans le film Reservoir dogs ?
  10. Quel est le dernier film du document ?
  11. Quel est le titre du film qui précède immédiatement le film Shining (dans l'ordre du document).
  12. Qui a mis en scène le film Eyes Wide Shut ?
  13. Donnez les titres des films qui contiennent un 'V' (utiliser la fonction contains)
  14. Donner les noeuds qui ont exactement trois descendants (utiliser la fonction count).
  15. Donner les noeuds dont le nom contient la chaîne 'TU' (fonction name)

Exercice: Guide touristique

Reprendre les questions Xpath de l'exercice 1 du TD avec les deux fichiers xml fournis (restaurant.xml et restaurant.dtd). On adaptera les valeurs des champs afin d'obtenir un résultat non vide sur les fichiers fournis.

Exercice: Atlas

Reprendre les questions Xpath de l'exercice 2 du TD avec les deux fichiers xml fournis (atlas.xml et atlas.xml). On adaptera les valeurs des champs afin d'obtenir un résultat non vide sur les fichiers fournis.