====== TP XQuery ====== ===== Environnement de travail ===== Le TP se déroulera dans un petit atelier XQuery. Pour le lancer, cliquer sur le lien suivant: [[http://liris.cnrs.fr/~ecoquery/files/atelier-xquery.jar|Interface XSLT/XQuery]]. Le cas échéant lancer le fichier la commandejava -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 [[:enseignement:bdav:xquery#xquery|petit résumé]]. Voici quelques liens complémentaires sur XPath et XQuery: * La [[http://www.w3.org/TR/xpath20/|définition de XPath]] par le W3C. * La [[http://www.w3.org/TR/xquery/|définition de XQuery]] par le W3C. * Les [[http://www.w3.org/TR/xpath-functions/|fonctions standard de XQuery/XPath]]. * La [[http://www.w3.org/TR/html4/|spécification du html]], qui peut être utile pour certaines questions. ===== Questions ===== Avant de répondre, consulter la DTD pour la réponse attendue, donnée [[#DTDs|après la liste de questions]]. - Donner la liste des titres de tomes dont le numéro est inférieur ou égal à 3 (Document: Collection). - Donner la liste des titres des tomes de la série "Lanfeust de Troy" (Document: Collection). - Donner la liste des titres de livres (Document: Ventes livres). Attention à la balise ''title'' qui devient ''titre''. - Donner la liste des personnages (SPEAKER) de la pièce Hamlet (Document Hamlet). Attention à la DTD. On utilisera la fonction ''distinct-values(expr)'' pour éviter les doublons. - Donner la liste des personnages de la pièce Hamlet qui parlent dans l'acte I (ACT I) (Document Hamlet). - Donner, pour chaque personnage, le nombre de lignes dites par ce personnage dans la pièce (Document Hamlet). - Donner la liste des personnages dont la description via les éléments PERSONA est différente de la dénomination via SPEAKER (Document Hamlet). - Ecrire une fonction prenant un film du document et renvoyant sa représentation via un élément ''film'' conforme à la 3eme DTD ci-dessous. Utiliser cette fonction pour transformer le premier film du document Films. - Utiliser la fonction précédente pour afficher une liste de films dans un élément ''films''. Cette liste contiendra tous les films dont un des réalisateur a joué comme acteur (Document Films). - Faire une présentation HTML du document Films. On triera les films par année, puis par titre. Le code suivant donne le résultat attendu si on se restreint aux films //Wall-E// et //Gran Torino//: Des films

Gran Torino (2008)

Realisateur(s)

Acteur(s)/Actrice(s)

Wall-E (2008)

Realisateur(s)

Scenariste(s)

==== DTDs ==== Questions 1, 2, 3: Questions 4, 5, 6, 7: Questions 8, 9: