Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
site:enseignement:master:mlbda:tmes:xpath [27/11/2019 11:23] amine |
site:enseignement:master:mlbda:tmes:xpath [28/10/2021 17:52] (Version actuelle) hubert |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{indexmenu_n>60}} | {{indexmenu_n>60}} | ||
- | ======TME XPATH ====== | + | ======TME XPath ====== |
===== Préparation ===== | ===== Préparation ===== | ||
+ | /*{{ :site:enseignement:master:mlbda:tmes:tmexpath.zip |tmexpath.zip}} | ||
+ | {{ :site:enseignement:master:mlbda:tmes:tmexpath2020.zip |tmexpath2020}} | ||
+ | */ | ||
+ | |||
+ | Ce TME utilise le SGBD XML [[https://basex.org/|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 <fc #ff0000>moodle</fc>. | ||
+ | * Télécharger et décompresser, dans votre répertoire de travail, l'archive [[http://files.basex.org/releases/9.4.5/BaseX945.zip| BaseX945.zip]] (sinon voir les autres archives dans [[https://basex.org/download/| download]]). | ||
+ | * Lancer l'interface graphique de BaseX (voir la description de l'interface graphique à cette adresse: [[https://docs.basex.org/wiki/Graphical_User_Interface]]): | ||
+ | <code ascii> | ||
+ | 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 | ||
+ | </code> | ||
+ | |||
+ | |||
+ | |||
+ | /* | ||
Ce TME utilise la commande **xpath** (cela lance XPath Explorer). Pour s'en servir, suivre les étapes suivantes : | Ce TME utilise la commande **xpath** (cela lance XPath Explorer). Pour s'en servir, suivre les étapes suivantes : | ||
Ligne 13: | Ligne 30: | ||
unzip /Infos/bd/public/tmexpath.zip | unzip /Infos/bd/public/tmexpath.zip | ||
</code> | </code> | ||
+ | */ | ||
/** {{:site:enseignement:master:mlbda:tmexpath.zip|}}*/ | /** {{:site:enseignement:master:mlbda:tmexpath.zip|}}*/ | ||
+ | /* | ||
* <fc #ff0000>**Seulement si nécessaire**</fc>, faire un ssh -X sur votre propre machine. Cela permet ensuite de saisir les caractères [ et @ dans l'outil xpath: <code bash>ssh -X `uname -n`</code> ou <code bash> ssh -X ppti-14-SSS-MM avec SSS étant le numéro de la salle et MM le numéro de la machine </code> | * <fc #ff0000>**Seulement si nécessaire**</fc>, faire un ssh -X sur votre propre machine. Cela permet ensuite de saisir les caractères [ et @ dans l'outil xpath: <code bash>ssh -X `uname -n`</code> ou <code bash> ssh -X ppti-14-SSS-MM avec SSS étant le numéro de la salle et MM le numéro de la machine </code> | ||
* Aller dans le répertoire de travail contenant les fichiers xml et dtd. Exemple: <code bash>cd MLBDA/tmexpath/</code> | * Aller dans le répertoire de travail contenant les fichiers xml et dtd. Exemple: <code bash>cd MLBDA/tmexpath/</code> | ||
* Lancer le programme: <code bash>xpath &</code>. En cas d'erreur, <code bash> java -jar /Infos/bd/public/tool/xpe/xpe.jar </code> | * Lancer le programme: <code bash>xpath &</code>. En cas d'erreur, <code bash> java -jar /Infos/bd/public/tool/xpe/xpe.jar </code> | ||
+ | */ | ||
+ | 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' [[https://docs.basex.org/wiki/Graphical_User_Interface#Input_Bar|Input Bar]] changez dans le menu déroulant //Find// par //XQuery//, vous pouvez ensuite écrire l'expression XPath. | ||
+ | |||
+ | /* | ||
Dans Xpath Explorer: | Dans Xpath Explorer: | ||
* //File Open// (ou bouton //Load//) : ouvrir le fichier Film.xml | * //File Open// (ou bouton //Load//) : ouvrir le fichier Film.xml | ||
Ligne 38: | Ligne 61: | ||
<code bash>emacs ou gedit requete_xpath.txt &</code> | <code bash>emacs ou gedit requete_xpath.txt &</code> | ||
+ | */ | ||
===== Exercice: Films ===== | ===== Exercice: Films ===== | ||
Ligne 70: | Ligne 93: | ||
- Quel est le dernier film du document ? | - Quel est le dernier film du document ? | ||
- Quel est le titre du film qui précède immédiatement le film Shining (dans l'ordre du document). | - 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 ? | + | - <del>Qui a mis en scène le film Eyes Wide Shut ?</del> |
- Donnez les titres des films qui contiennent un 'V' (utiliser la fonction contains) | - Donnez les titres des films qui contiennent un 'V' (utiliser la fonction contains) | ||
- Donner les noeuds qui ont exactement trois descendants (utiliser la fonction count). | - Donner les noeuds qui ont exactement trois descendants (utiliser la fonction count). | ||
Ligne 83: | Ligne 106: | ||
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. | 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. | ||
- |