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.
Le cours sur XQuery n'ayant pas eu lieu dans son intégralité, il est demandé de commencer par lire ce petit résumé.
Voici quelques liens complémentaires 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*)>