3. TP1 : FILMS & ARTISTES
Écrivez les requêtes XQuery :
1. On veut obtenir pour chaque film le nom de tous les
personnages accompagnés du nom de l’acteur jouant le
rôle en question.
2. Les rôles joués par ‘Meg RYAN’.
3. Le titre, genre et pays pour tous les films avant
2000.
4. Le nom du metteur en scène du film «Meet Joe BLACK».
5. Pour chaque artiste, son nom et les titres des films
qu’il a tourné.
6. Pour chaque film, l’age de ses acteurs en scène lors
de la sortie du film.
3
4. TP2 : FILMS & ARTISTES
Écrivez les requêtes XQuery :
1. Les films où joue ‘Brad PITT’ sous forme
d’éléments :
<film annee=‘’ >
<titre></titre><personnage></personnage>
</film>
2. Pour chaque film le titre, le nombre d’acteurs,
sous la forme :
<film acteurs=‘nb acteurs’> titre du film </film>
3. Pour chaque genre de film, produire un élément films
:
<films genre=‘’><titre></titre></films>
Utiliser la fonction distinct-values pour obtenir la
liste des valeurs distinctes des nœuds
4
6. TP3 : FACTURE & PRODUITS
1. Le prix moyen des produits
2. Le prix moyen des produits par catégorie
3. Le nombre des produits de la catégorie produit
laitier
4. Le prix le plus haut pour les produits laitiers
5. Le prix le plus bas pour les produits volaille
6. Les lignes detail-facture de la facture : code,
libelle produit, Quantité et le montant de chaque
detail-facture
7. Le montant total de la facture
6
8. TP4 : BookMarks
Ecrivez une fonction de présentation simple des
bookmarks:
• Prend en argument un noeud bookmark
• Donne un paragraphe correspondant au titre qui sera
un lien (si le titre est absent, mettre l'url à la
place du titre)
• Et un paragraphe contenant sa description (ou rien
s'il n'y a pas de description).
• On regroupera ces deux paragraphes dans un élément
div.
Remarque : On pourra utiliser la construction if (
test ) then expr1 else expr2 pour réaliser un test.
L'utilisation de () permet de renvoyer un ensemble
d'éléments vide.
8
9. TP5 : BookMarks
On reprend la question précédente, mais en affichant à
l'aide d'une fonction récursive les catégories avec
leur bookmarks.
Une catégorie sera représentée par un élément div dans
lequel on mettra :
• un paragraphe donnant le nom de la catégorie,
• un paragraphe contenant sa (ou ses) description(s)
• enfin une liste html qui correspondra à l'ensemble
des bookmarks et des catégories qui sont des enfants
de la catégorie considérée.
On utilisera la fonction précédente pour le
formatage des bookmarks.
Indication : On peut tester si un element $node est
de type toto à l'aide de l'instruction : if ($node
instance of element(toto))
On peut parcourir tous les fils éléments d'un noeud
référencé par la variable $toto à l'aide de
l'expression XPath : $toto/element()
9