Projet de fin d étude ASR Accès à l'information XML par des requêtes XQuery au travers du XSchema Réalisé par : MGARRECH Oussama DAB Marwa Encadré par : Mme GANCARSKI Alda 2011/2012
Introduction PLAN Concepts Généraux Problématique et Solution Envisagée Conception et Architecture du Système Réalisation Démonstration Conclusion 2
Introduction Structurer de l information facilite l interopérabilité entre systèmes La norme suivie pour la construction dépend de la nature de l information L utilisation des données structurées demande le perfectionnement d un langage de requête
Concepts Généraux
XML: extensible Markup Language L'échange automatisé de contenus complexes entre systèmes d information hétérogènes : interopérabilité XML via Bases de données relationnelles
XSchema Un langage de description de format de document XML qui permet de : Définir la structure d un document XML. Définir le type de contenu d'un document XML. Vérifier la validité de ce document.
Exemple XML/XSD <company> <employee> <firstname>john</firstnam e> <lastname>smith</lastna me> </employee> <employee> <firstname>michel/firstna me> <lastname>brown</lastna me> </employee> </company> <xs:element name="company"> <xs:complextype> <xs:sequence> <xs:element name="employee"> <xs:complextype> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complextype> </xs:element> <xs:sequence> <xs:complextype> </xs:element>
XQuery : Interrogation d une Collection XML XQuery Collection XML
Syntaxe XQuery: exemple for $x in doc( company.xml")/company/employee where contains($x/firstname, J") return $x/lastname <company> <employee> <firstname>john</firstname> <lastname>smith</lastname> </employee> <employee> <firstname>michel/firstname> <lastname>brown</lastname> </employee> <lastname>smith</lastname > </company>
Problématique et Solution
Problématique La Complexité du langage XQuery Comment arriver à interroger les Documents XML sans passer par le XQuery?
Solution Envisagée Concevoir un outil qui fera abstraction à un sous ensemble du langage d interrogation XQuery pour offrir à l utilisateur la possibilité d accéder à l information XML à travers des manipulations graphiques.
Conception et Architecture du Système
Architecture du Système
Diagramme Cas d Utilisation
Réalisation et Résultats Obtenus
Plateforme choisi : Réalisation -Portabilité. - APIs qui permettent de manipuler des fichiers XML et des fichiers XSD. -Java répond aux exigences graphiques de l application.
Les APIs utilisées : -API graphique: Swing -API du traitement des fichiers XML: JDom -API d exécution des requêtes XQuery : Saxon
Module 1: Générateur d Interface Collection XML +XSchema Interface Arborescence de la collection Table de saisie de l interrogation utilisateur Zone affichage de la requête XQuery Zone de l affichage des résultats des requêtes
Arborescence de la collection XML(1) <company> <employee> <firstname>john</firstname > <lastname>smith</lastname > </employee> JDOM employee <employee> <firstname>michel/firstname > <lastname>brown</lastnam e> </employee> </company> Document 1 firstname lastname
Arborescence de la collection XML(2) <company> <employee> <firstname>adam</firstname> <lastname>smith</lastname> <age>33</age> </employee> <employee> <firstname>alain/firstname> <lastname>brown</lastname> <age>37</age> </employee> </company> employee firstname Lastname age Document 2
Table de saisie de l interrogation utilisateur Générate ur d Interfac e
Choix graphiques de l utilisateur Module 2: Génération de Requête(1) Collection XML Générateur de requête Moteur Saxon Résultat requête
Requête(2) for $x in doc("librairie.xml")/librairie/livre where contains($x/auteur,"p") and $x/pages >100 and $x/pages <150 return $x/auteur for $x in doc("librairie.xml")/librairie/livre where contains($x/auteur,"p") and $x/pages >100 and $x/pages <150 return {data($x/@categorie)}
Les Acquis du Projet L importance de la planification et de la gestion du projet Découvrir un nouveau langage de requête : XQuery L importance de la gestion du temps Découvrir les enjeux de l XML et manipuler des données structurées S approfondir dans le développement Java
Difficultés Rencontrées Extraction de l arborescence complète à partir d un fichier XSD (contenant le XSchema de la collection) Solution adoptée : Parcourir tous les documents XML de la collection pour construire l arborescence la plus complète
Déroulement du Travail
Démonstration