Ceci est une ancienne révision du document !
Ce TP est à réaliser seul ou en binôme (trinômes interdits). On téléchargera le fichier de réponses reponses-tp-xquery.txt. On complétera le fichier et on le renommera en Groupe_Nom1_Prenom1_Nom2_Prenom2_reponses-tp-xquery.txt
. Groupe est le numéro groupe de TD de M1, Nom1_Prenom1 est le nom et le prénom du premier membre du binôme, Nom2_Prenom2 est le nom et le prénom du second membre du binôme1).
On déposera ce fichier sur Spiral le dimanche 7 octobre 2012 au plus tard.
Le non-respect de ces consignes pourra être sanctionné dans la note de ce TP.
Le TP se déroulera dans un petit atelier XQuery. Pour le lancer, cliquer sur le lien suivant: Interface XSLT/XQuery. Le cas échéant lancer le fichier la commande
java -jar atelier-xquery.jar
Cet atelier contient un ensemble de documents xml qui peuvent être chargés en double-cliquant dans le petit cadre de gauche.
Voici quelques liens sur XPath et XQuery:
Avant de répondre, consulter la DTD pour la réponse attendue, donnée après la liste de questions.
title
qui devient titre
.distinct-values(expr)
pour éviter les doublons.film
conforme à la 3eme DTD ci-dessous. Utiliser cette fonction pour transformer le premier film du document Films.films
. Cette liste contiendra tous les films dont un des réalisateur a joué comme acteur (Document Films).<?xml version="1.0" encoding="UTF-8"?> <html> <head> <title>Des films</title> </head> <body> <h1>Gran Torino (2008)</h1> <h2>Realisateur(s)</h2> <ul> <li>Clint Eastwood</li> </ul> <h2>Acteur(s)/Actrice(s)</h2> <ul> <li>Clint Eastwood</li> <li>Bee Vang</li> <li>Christopher Carley</li> </ul> <h1>Wall-E (2008)</h1> <h2>Realisateur(s)</h2> <ul> <li>Andrew Stanton</li> </ul> <h2>Scenariste(s)</h2> <ul> <li>Andrew Stanton</li> </ul> </body> </html>
Questions 1, 2, 3:
<!ELEMENT titres (titre*)> <!ELEMENT titre (#PCDATA)>
Questions 4, 5, 6, 7:
<!ELEMENT personnages (personnage*)> <!ELEMENT personnage (#PCDATA)> <!ATTLIST personnage nb_lignes CDATA #IMPLIED>
Questions 8, 9:
<!ELEMENT film (titre,annee?,realisateur*,scenariste*,acteur)> <!ELEMENT titre (#PCDATA)> <!ELEMENT annee (#PCDATA)> <!ELEMENT realisateur (#PCDATA)> <!ELEMENT scenariste (#PCDATA)> <!ELEMENT acteur (#PCDATA)> <!ELEMENT films (film*)>