Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
site:enseignement:master:mlbda:tmes:xquery1 [07/12/2017 11:40] amine [Exercice 1] |
site:enseignement:master:mlbda:tmes:xquery1 [22/11/2020 15:04] (Version actuelle) amine [TME XQuery : séance 1] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
{{indexmenu_n>80}} | {{indexmenu_n>80}} | ||
- | ====== TME XQuery : séance 1 ====== | + | ====== TME XQuery : séance 1 (ancienne page)====== |
===== Documentation XQuery ===== | ===== Documentation XQuery ===== | ||
* Lire les précisions apportées dans [[xqueryfaq]] | * Lire les précisions apportées dans [[xqueryfaq]] | ||
Ligne 58: | Ligne 58: | ||
- Le nom de la personne dont l'identifiant est "person0". | - Le nom de la personne dont l'identifiant est "person0". | ||
- | - La valeur initiale des trois premières enchères <fc #ff0000>en cours</fc>. | + | - La valeur initiale (élément initial) des trois premières enchères <fc #ff0000>en cours</fc>. |
- | - La valeur de la première et de la dernière augmentation effectuée sur les trois premières des enchères en cours, selon l'ordre des enchères défini dans les données xml (ne pas trier les enchères chronologiquement). | + | - La valeur de la première et de la dernière augmentation (élément increase de bidder) effectuée sur les trois premières des enchères en cours, selon l'ordre des enchères défini dans les données xml (ne pas trier les enchères chronologiquement). |
- | - Le prix des objets vendu à plus de 480. | + | - Le prix des objets vendus à plus de 480. |
- Le nom des objets du continent africain | - Le nom des objets du continent africain | ||
- Le nom des objets du continent africain avec leur prix de vente | - Le nom des objets du continent africain avec leur prix de vente | ||
Ligne 67: | Ligne 67: | ||
<showif isloggedin> | <showif isloggedin> | ||
**<fc #ff0000>Réponses</fc>** | **<fc #ff0000>Réponses</fc>** | ||
- | Le nom de la personne dont l'identifiant est "person0". | + | |
+ | - Le nom de la personne dont l'identifiant est "person0". | ||
<code xquery> | <code xquery> | ||
for $x in /site/people/person[@id="person0"] | for $x in /site/people/person[@id="person0"] | ||
Ligne 73: | Ligne 74: | ||
</code> | </code> | ||
- | </showif> | + | - La valeur initiale des trois premières enchères <fc #ff0000>en cours</fc>. |
+ | <code xquery> | ||
+ | for $x in /site/open_auctions/auction[position()<4] | ||
+ | return <result id="{$x/@id}" >{$x/initial}</result> | ||
+ | </code> | ||
+ | - La valeur de la première et de la dernière augmentation effectuée sur les trois premières des enchères en cours, selon l'ordre des enchères défini dans les données xml (ne pas trier les enchères chronologiquement). | ||
+ | <code xquery> | ||
+ | for $x in /site/open_auctions/auction[position()<4] | ||
+ | return <result id="{$x/@id}" ><first>{$x/bidder[1]/increase/text()}</first><last>{$x/bidder[last()]/increase/text()}</last></result> | ||
+ | </code> | ||
+ | |||
+ | - Le prix des objets vendus à plus de 480. | ||
+ | <code xquery> | ||
+ | for $x in //closed_auctions/auction, | ||
+ | $y in //item | ||
+ | where $x/price/text()>480 and $x/itemref/@item =$y/@id | ||
+ | return $x/price | ||
+ | </code> | ||
+ | |||
+ | - Le nom des objets du continent africain | ||
+ | <code xquery> | ||
+ | for $x in //regions/africa | ||
+ | return $x/item/name | ||
+ | </code> | ||
+ | |||
+ | - Le nom des objets du continent africain avec leur prix de vente | ||
+ | <code xquery> | ||
+ | for $x in //regions/africa/item | ||
+ | for $y in //closed_auctions/auction | ||
+ | where $x/@id=$y/itemref/@item | ||
+ | return <res>{$x/name, $y/price}</res> | ||
+ | </code> | ||
+ | |||
+ | - Le nombre de personnes qui n'ont pas de page web (i.e. les personnes sans élément homepage) | ||
+ | <code xquery> | ||
+ | count(for $p in //person | ||
+ | where empty($p/homepage) | ||
+ | return $p) | ||
+ | </code> | ||
+ | |||
+ | </showif> | ||
===== Exercice 2 ===== | ===== Exercice 2 ===== | ||
Poursuivre sur les questions de l'exercice 2 du TD en utilisant les données bib.xml. Pour ce faire, commencer par charger dans BaseX le fichier bib.xml en suivant les instructions décrites précédemment. | Poursuivre sur les questions de l'exercice 2 du TD en utilisant les données bib.xml. Pour ce faire, commencer par charger dans BaseX le fichier bib.xml en suivant les instructions décrites précédemment. |