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

Ceci est une ancienne révision du document !


TME XPATH

Préparation

Ce TME utilise la commande xpath (cela lance XPath Explorer). Pour s'en servir, suivre les étapes suivantes :

  • Utiliser java 1.8. Par exemple, pour la version 1.8.0_170 taper dans votre terminal
    alias java=/usr/lib/jvm/jdk1.8.0_170/bin/java
  • Vérifier que la version de java est bien la 1.8 en tapant
     java -version
  • Télécharger et décompresser, dans votre répertoire de travail, le fichier tmexpath.zip ou l'extraire avec la commande
      cd répertoire_de_travail
      unzip /Infos/bd/public/tmexpath.zip
  • Seulement si nécessaire, faire un ssh -X sur votre propre machine. Cela permet ensuite de saisir les caractères [ et @ dans l'outil xpath:
    ssh -X `uname -n`

    ou

     ssh -X ppti-14-SSS-MM avec SSS étant le numéro de la salle et MM le numéro de la machine 
  • Aller dans le répertoire de travail contenant les fichiers xml et dtd. Exemple:
    cd MLBDA/tmexpath/
  • Lancer le programme:
    xpath &

    . En cas d'erreur,

     java -jar /Infos/bd/public/tool/xpe/xpe.jar 

Dans Xpath Explorer:

  • File Open (ou bouton Load) : ouvrir le fichier Film.xml
  • Dans le champ XPath, saisir une expression xpath
  • Toujours vérifier que l'expression que vous venez de saisir s'affiche bien dans le champ Expanded sous une forme étendue. Si elle ne s'affiche pas, cela signifie que votre saisie est erronée.
  • Exemple de champ expanded: Champ Expanded

Les quatre onglets :

  • “Source” permet de visualisez le fichier xml source
  • “All Nodes” donne la représentation arborescente du fichier xml
  • “Matching Nodes” donne la liste des noeuds sélectionnés par l'expression Xpath
  • “Messages” donne les messages d'erreur éventuels (fichier Xml non valides, …)
  • La dernière ligne permet de générer l'expression Xpath sélectionnant le noeud courant.
  • Pour faciliter la remise de vos requêtes en fin de TME, saisir vos requêtes dans le fichier requete_xpath.txt:
emacs ou gedit requete_xpath.txt &

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).

- Qui a mis en scène le film Eyes Wide Shut ?

  1. Donnez les titres des films qui contiennent un 'V' (utiliser la fonction contains)
  2. Donner les noeuds qui ont exactement trois descendants (utiliser la fonction count).
  3. 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.1574855129.txt.gz · Dernière modification: 27/11/2019 12:45 par amine