1 / 24

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

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

mateja
Download Presentation

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

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 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

  2. PLAN • INTRODUCTION • DEFINITION DE XQUERY • XQUERY - EXEMPLES D’UTILISATION • MODULE DE DONNEES DE XQUERY • CONSTRUCTIONS DE XQUERY • LES EXPRESSIONS XQUERY • CONCLUSION

  3. INDRODUCTION Le langage XQuery ou XmlQueryest 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.

  4. DEFINITION DE XQUERY XQueryest 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.

  5. 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

  6. MODELE DE DONNEES DE XQUERY • 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.

  7. 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

  8. 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)

  9. 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

  10. CONSTRUCTIONS DE XQUERY 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 :)‏

  11. 2. Structure d’une requête Xquery Une 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 ";"

  12. 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

  13. 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 ( ) Exemples

  14. 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 ASdatatype) AS return Datatype{ ...function code here...}

  15. Exemple xquery version "1.0" encoding "utf-8"; declarefunction 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>

  16. Il existe des fonctions prédéfinies de Xquery comme: SUM: la somme AVG: la moyenne COUNT: nombre d’éléments MAX: maximum MIN: minimum …..

  17. 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

  18. 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

  19. 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

  20. 2.L’expression IF-THEN-ELSE Syntaxe: If (condition) then expr1; else expr2; Exemple: • for $x in doc("livres.xml")/librairie/livrereturn if ($x/@category="CHILDREN")then <child>{data($x/titre)}</child>else <adult>{data($x/titre)}</adult>

  21. 3. Autres Expressions SOME,EVERY 1- some Syntaxe:some $var in expr1satisfiesexpr2 Exemple: • for $l in document("bib.xml")//livre wheresome $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

  22. 2- Every Syntaxe: every $var in expr1satisfiesexpr2 Exemple • for $l in document(« bib.xml")//livre whereevery $p in $l//paragraphe satisfiescontains($p, "plate") return $l/titre Reseltat: L'exemple suivant trouve les titres de tous les livres qui mentionnent le mot "plate"dans chaque paragraphe

  23. 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

  24. MERCI POUR VOTRE ATTENTION

More Related