9
+ + XQuery : TP Technologies Internet 2011 ©FST SETTAT / IT-LEARNING : ZKIADHIRI # 1

004 support tp-xquery

Embed Size (px)

Citation preview

Page 1: 004 support tp-xquery

++XQuery : TP

Technologies Internet2011

©FST SETTAT / IT-LEARNING : ZKIADHIRI# 1

Page 2: 004 support tp-xquery

++

XQuery : Requêtes

Page 3: 004 support tp-xquery

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.

Page 4: 004 support tp-xquery

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

Page 5: 004 support tp-xquery

XQuery : Agrégations

Page 6: 004 support tp-xquery

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

Page 7: 004 support tp-xquery

XQuery : Fonctions

Page 8: 004 support tp-xquery

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.

Page 9: 004 support tp-xquery

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()