24
UNIVERSITE CHOUAIB DOUKKALI Faculté des sciences Département des mathématiques & informatiques ELJADIDA Encadré par: Mr. Ali Elhore Réalisé par: LAAROUSSI Mohamed BENELFAHAME Oussama XQUERY

UNIVERSITE CHOUAIB DOUKKALI Faculté des sciences Département des mathématiques

  • Upload
    mateja

  • View
    87

  • Download
    0

Embed Size (px)

DESCRIPTION

UNIVERSITE CHOUAIB DOUKKALI Faculté des sciences Département des mathématiques & informatiques ELJADIDA. XQUERY. Encadré par: Mr. Ali Elhore. Réalisé par: LAAROUSSI Mohamed BENELFAHAME Oussama. PLAN. INTRODUCTION DEFINITION DE XQUERY - PowerPoint PPT Presentation

Citation preview

Page 1: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

UNIVERSITE CHOUAIB DOUKKALI Faculté des sciencesDépartement des mathématiques & informatiques ELJADIDA

Encadré par: Mr. Ali ElhoreRéalisé par:

LAAROUSSI MohamedBENELFAHAME Oussama

XQUERY

Page 2: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

PLAN

INTRODUCTION DEFINITION DE XQUERY XQUERY - EXEMPLES D’UTILISATION MODULE DE DONNEES DE XQUERY CONSTRUCTIONS DE XQUERY LES EXPRESSIONS XQUERY CONCLUSION

Page 3: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

Le langage XQuery ou XmlQuery est conçu spécifiquement pour l'intégration de la programmation et des données XML, et les programmeurs sont plus productifs en utilisant XQuery pour ces tâches. Cependant, de nombreuses applications d'entreprise sont construites sur la plate-forme Java, et nécessitent souvent des fonctionnalités ne trouve pas dans XQuery, par exemple, de nombreux programmes XML doivent utiliser la fonctionnalité des services Web de J2EE.

INDRODUCTION

Page 4: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

XQuery est un langage de requête informatique permettant non seulement d'extraire des informations d'un document XML, ou d'une collection de documents XML, mais également d'effectuer des calculs complexes à partir des informations extraites et de reconstruire de nouveaux documents ou fragments XML.

DEFINITION DE XQUERY

Page 5: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

XQUERY - EXEMPLES D‘UTILISATION

XQuery peut être utilisé pour: Extraire des informations à utiliser dans

un service Web Générer des rapports de synthèse Transformer des données XML à XHTML Recherche de documents sur le Web

pour les informations pertinentes

Page 6: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

• Une Valeur est une séquence ordonnée de 0 ou plusieurs items.

• Un item est un nœud ou une valeur atomique• Il y a 7 types de nœuds:

– Élément– Attribut– Texte– Espace de noms– Instruction de traitement– Commentaires – Documents nœuds.

MODELE DE DONNEES DE XQUERY

Page 7: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

Exemples de valeurs 12 - xs: integer, "toto" – xs: string, <a>message</a> - element, (1, 2, 3) - séquence de 3 items, (12, <a/>, "toto") - séquence de 3 items, () - séquence vide

Page 8: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

Quelques remarques sur les valeurs

• Il n’y a pas de distinction entre un item et une séquence de longueur 1. 47=(47)

• Une séquence peut contenir des données hétérogènes

(12, <a/>, "toto")• Il n’y a pas de séquences imbriquées (1,(2,3), <a/>, "toto")= (1,2,3, <a/>,

"toto") • Une séquence peut être vide : ()• les séquences sont triées : (1,4) ≠ (4,1)

Page 9: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

Quelques remarques sur les items

• Les nœuds ont une identité (les valeurs atomiques n’en ont pas)

• Les nœuds de type element et attribut ont des annotations de type– Elles sont déterminées lorsque les nœuds sont

validés– Le type peut être complexe, voir inconnu

• Chaque nœud a une valeur de type– Une séquence de valeurs atomique– Peut être de type inconnu

• Chaque nœud est ordonné au sein du document dont il est issu

Page 10: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

1. Règles générales de Xquery

• Xquery est un langage sensible à la casse– Les mots clés sont en minuscules

• Chaque expression a une valeur, et pas d’effet de bord

• Les expressions sont composables• Les expressions peuvent générer des erreurs• Les commentaires sont possibles

– (: un commentaire :)

CONSTRUCTIONS DE XQUERY

Page 11: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

2. Structure d’une requête XqueryUne requête XQuery est composée de trois parties : une ligne d'entête commencée par "xquery" et contenant

la version et, éventuellement l'encodage du document ; un ensemble de déclarations :

déclarations de variables ou constantes, déclarations de fonctions utilisateur locales, importation de modules (bibliothèques XQuery), détermination des espaces de nom et de leur utilisation, détermination du format du résultat et autres paramètres ;

l'expression XQuery à exécuter.La ligne d'entête et les déclarations sont toutes terminées

par ";"

Page 12: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

3. Contexte d’évaluation

Les expressions sont évaluées relatives à un contexte: Espace de nom Variables Fonctions Date et heure Item contexte (nœud courant) Position (dans la séquence en train d’être traitée) Taille de cette séquence

Page 13: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

Exemples• Valeurs atomiques: "Hello" 12 4.7• Valeurs construites :

– true() false() date("2013-05-16")• Variables : $x• Séquences construites :

– $a, $b pareil que ($a, $b)– (1, (2, 3), ( ), (4)) pareil que 1, 2, 3, 4– 5 to 8 pareil que 5, 6, 7, 8– 8 to 5 pareil que ( )

Page 14: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

4. Les fonctions Xquery permet à l’utilisateur de définir ses

propres fonctions. Les fonctions ne peuvent pas être

surchargées

Syntaxe :declare function prefix:function_name($parameter

AS datatype) AS return Datatype{ ...function code here...}

Page 15: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

Exemplexquery version "1.0" encoding "utf-8";declare function local:liste_entier_pair($max) { (2 to $max)[. mod 2 = 0]} ;<pair> {local:liste_entier_pair(10)} </pair> Resultat: <pair> 2 4 6 8 10 </pair>

Page 16: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

Il existe des fonctions prédéfinies de Xquery comme:

SUM: la sommeAVG: la moyenneCOUNT: nombre d’élémentsMAX: maximumMIN: minimum…..

Page 17: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

EXPRESSIONS XQUERY

1. L’expression FLOWR Une expression FLWOR lie des variables, applique des

prédicats, et construit un nouveau résultat

FOR et LET clauses de générer une liste de tuples de variables liées, préserver l'ordre d'entrée.

WHERE clause s'applique un prédicat, en éliminant certains des tuples.

ORDER BY clause impose un ordre sur les tuples survivants.

RETURN clause est exécutée pour chaque tuple survivante, générer une liste ordonnée des sorties

Page 18: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

Différence entre FOR et LET For:

for $x in /company/employee génère un lien de chaque employé vers $x pour chaque élément dans l’entreprise

Let: let $x := /company/employee génère un

seul lien $x représentant ici l’ensemble des employés

Page 19: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

Exemple

for $d in document("depts.xml")//deptno let $e := document("emps.xml")//employee[deptno = $d]

where count($e) >= 10 order by avg($e/salary) descending return <big-dept> {

$d, <headcount>{count($e)}</headcount>,

<avgsal>{avg($e/salary)}</avgsal> } </big-dept>

Résultat : Retourne la liste des département avec plus de 10 employés, classés par salaire

Page 20: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

2.L’expression IF-THEN-ELSESyntaxe: If (condition) then expr1; else

expr2; Exemple: for $x in doc("livres.xml")/librairie/livre

return if ($x/@category="CHILDREN")then <child>{data($x/titre)}</child>else <adult>{data($x/titre)}</adult>

Page 21: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

3. Autres Expressions SOME,EVERY 1- some Syntaxe: some $var in expr1 satisfies expr2Exemple: for $l in document("bib.xml")//livre

where some $p in $l//paragraphe satisfies (contains($p,"plate") AND contains($p,"espace")) return $l/titre

Résultat: L'exemple suivant recherche les titres de tous les livres qui mentionnent les deux mots « plate » et « espace »dans le même paragraphe

Page 22: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

2- EverySyntaxe: every $var in expr1 satisfies expr2Exemple for $l in document(« bib.xml")//livre

where every $p in $l//paragraphe satisfies contains($p, "plate") return $l/titre

Reseltat: L'exemple suivant trouve les titres de tous les livres qui mentionnent le mot "plate" dans chaque paragraphe

Page 23: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

CONCLUSION

XQuery est un outil puissant et pratique pour analyserou générer XML

XQuery est un protocole indépendant, donc peut être évaluée n'importe quel système avec des résultats prévisibles

Il n'y a pas des implémentations mais le site XQuery listes connues mise en œuvre

Page 24: UNIVERSITE CHOUAIB DOUKKALI             Faculté des sciences Département des mathématiques

MERCI POUR VOTRE ATTENTION