+                +
                                            XQuery : TP
                                            Technologies Internet
                                                                    2011




©FST SETTAT / IT-LEARNING : ZKIADHIRI
                                                                           #1
+ +
XQuery : Requêtes
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
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
XQuery : Agrégations
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
XQuery : Fonctions
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
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

004 support tp-xquery

  • 1.
    + + XQuery : TP Technologies Internet 2011 ©FST SETTAT / IT-LEARNING : ZKIADHIRI #1
  • 2.
    + + XQuery :Requêtes
  • 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
  • 5.
  • 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
  • 7.
  • 8.
    TP4 : BookMarks Ecrivezune 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 Onreprend 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