Bases de Données / Databases

Site Web de l'équipe BD du LIP6 / LIP6 DB Web Site

Outils pour utilisateurs

Outils du site


site:enseignement:master:mlbda:tmes:xpath

TME XPath

Préparation

Ce TME utilise le SGBD XML BaseX.

  • Créer un répertoire de travail pour ce tme.
  • Télécharger et décompresser, dans votre répertoire de travail, le fichier xpath.zip accessible dans le moodle.
  • Télécharger et décompresser, dans votre répertoire de travail, l'archive BaseX945.zip (sinon voir les autres archives dans download).
  • Lancer l'interface graphique de BaseX (voir la description de l'interface graphique à cette adresse: https://docs.basex.org/wiki/Graphical_User_Interface):
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:

  • Créer la base de données contenant tous les fichiers du dossier xpath décompressé précédemment: Database→New… cliquer sur Browse… :choisir le dossier xpath comme répertoire source pour cette base. Vérifier aussi que le champ Input Format vaut bien XML.
  • Évaluer une expression XPath (son résultat sera affiché dans la fenêtre Result):
  • Saisir vos requêtes XPath dans la fenêtre centrale. Sélectionner la requête a traiter faire Ctrl-Entrée pour l'exécuter (ou la flèche verte). Une autre possibilité est d'utiliser l' Input Bar changez dans le menu déroulant Find par XQuery, vous pouvez ensuite écrire l'expression XPath.

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.

site/enseignement/master/mlbda/tmes/xpath.txt · Dernière modification: 28/10/2021 17:52 par hubert