Données sous XML Stéphane Marchand-Maillet Groupe Viper Vision par Ordinateur et Multimédia CUI – Université de Genève

Slides:



Advertisements
Présentations similaires
Données structurées et XML
Advertisements

XML.
D.U Introduction à XML Université Paris II & LRI Michel de Rougemont 1.Introduction à XML 2.DTD 3.XSL : style.
Transformation de documents XML
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
Cours MIAGE Henry Boccon-Gibod 1 XML, Un méta-langage pour des documents structurés.
Cours MIAGE Henry Boccon-Gibod 1 XML, langage de structuration documentaire Langage de transformation et langage d'interrogation.
Les espaces de nommage XML par Philippe Poulard 1
Données structurées et XML
XHTML EXtensible HyperText Markup Language. HTML et XML HTML (HyperText Markup Language) et XML (eXtensible Markup Language) sont deux spécifications.
Cours 2 : Transformation de documents XML
Xpath XPath is a language for finding information in an XML document.
le langage les éléments
Domaines nominaux XSLT
Nicolas Singer Maître de conférence, université Champollion
Format dannotations génériques, multi-annotations, multi- documents Présentation ASP navigation 11 avril 2002.
Introduction Concepts fondamentaux Éléments d’architecture
Tutoriel XSLT F. Sajous ERSS – 01/04/2005.
XML Un format d'échange et un langage de présentation des données associé au HTML.
Manipulation d’XML avec XSL
20 Données semi-structurées et XML
XML et les Bases de Données
UNIVERSITE CHOUAIB DOUKKALI Département des mathématiques
Web Structurel
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
XML: Syntaxe XML, DTD et Schémas
Le langage Javascript pour le web
Xpath XML Path language par Yves Bekkers
XML : concours d’acronymes ou futur standard ?
Rappel (très) succint d’éléments techniques (XML, DTD, XSL, PHP)
STAF 2X XSL/FO Glaus & Ruckstuhl Mars © Glaus & Ruckstuhl TECFA Programme du 18 et 19 mars Revision XML Introduction à XSL/FO (intérêts et.
Description de documents XML multistructurés au moyen de nœuds retards Jacques Le Maitre LSIS Université du Sud Toulon-Var.
GENIE MULTIMEDIA Introduction
XSLT : trier et mettre en valeur le contenu d’un document XML
XML Plan du cours Introduction au fichier XML
Initiation à XML Sebti Foufou.
Langages de requêtes XML
Javascript 1° PARTIE : LES BASES
8 - XML Cours XML.
Le Langage XML Belkhir Abdelkader Laboratoire LSI USTHB
1 Programmation Web II 2 ème année Licence Appliquée IAG Faculté des Sciences Economiques et de Gestion de Nableul Université 7 novembre à Carthage Années.
Le langage XHTML 420-S4W-GG Programmation Web Client
Les outils de base : XPath, XSL, XLink, XForms
Présenté par : Ramdane Guenineche Nabila Rahmoune Miloud Benotmane
XSLT : XML Stylesheet Language Transformation
XSL eXtensible Stylesheet Language Historique 1999: XSLT 1.0 et XPATH 1.0 : versions supportées par la plupart des outils depuis février 2007 XSLT 2.0.
LE HTML ISN Terminale S Un peu d’histoire …
Le langage XML.
XPath XML Path UP Web Année universitaire
Programmation Web : Introduction à XML
Programmation Web : Schémas XSD Jérôme CUTRONA 19:27:07 Programmation Web
Technologies web et web sémantique TP3 - XML. XML eXtensible Markup Language (langage extensible de balisage) – Caractéristiques: méta-langage = un langage.
Publication et Traitement avec XSL
XML: Plan I. Origines et base 3 II. DTD et Schéma 47
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
 G. Gardarin Les outils de base: Publication avec XML 1. XPATH 2. XSLT 3. XSLFO 4. XLink, XForms, RSS, … 5. XML et la bureautique.
XML fortement adopté en tant que format indépendant d’échange de données. Utilisation de XML pour la modélisation de données structurées et non structurées.
Soutenance du mémoire de synthèse
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
eXtensible Markup Language. Généralités sur le XML.
XPath Intro 1 Notation 2 Exemples 3 Utilisations de XPath
SOAP et les RPC XML SOAP WSDL RPC. Rappels sur le XML Langage avec des balises Très lisible Pour stocker des données Séparation entre contenu et présentation.
XML : un métalangage pour la description de documents structurés XML a été défini par le consortium W3 en fonction de 2 objectifs: Compenser les limitations.
Le langage XML Documents bien formés Un document XML est dit bien formé lorsque le document est correct sans toutefois posséder une DTD. Le prologue du.
XSLT. Les documents XML peuvent avoir dans leur prologue une instruction de traitement xml-stylesheet. Cette instruction de traitement indique au navigateur.
Extensions à la spécification XML Le "plus petit cercle" XML Yves Bekkers Mise à jour : 9 octobre 2003.
XPath XML Path language Yves Bekkers Mise à jour : 9 octobre 2003.
Hayri ACAR - Université Claude Bernard Lyon 1 Langages à balises 1 Hayri ACAR, Université Lyon 1 Basé sur les cours de Yannick Prié.
20 Données semi-structurées et XML
Transcription de la présentation:

Données sous XML Stéphane Marchand-Maillet Groupe Viper Vision par Ordinateur et Multimédia CUI – Université de Genève

Cours XML 2 Stéphane Marchand-Maillet – CUI – Université de Genève – Plan du cours lSession XML: 6Généralités 6Définition 6Principes lSession Représentation de données: 6Structuration de données 6Requêtes lSession Outils: 6XML sur le WWW 6Développements liés à XML

Cours XML 3 Stéphane Marchand-Maillet – CUI – Université de Genève – Session 2: Données lRappel XML lStructuration hiérarchique lSpécification XPath lLangages de requêtes 6Quilt 6XQuery lOutil 6Cocoon / Kweelt lAlternatives lExemple de structuration

Cours XML 4 Stéphane Marchand-Maillet – CUI – Université de Genève – Résumé XML lXML = eXtended Markup Language lXML version 1.0 = 10/02/1998 lSpécification sur le site du W3C lBasé sur SGML, « similaire » à HTML, texte lXML bien formé 6Syntaxe simple 6Peu de contraintes lXML valide 6Respecte la structure donnée par la DTD/Schema lLiens (XLink/Xpointer)

Cours XML 5 Stéphane Marchand-Maillet – CUI – Université de Genève – Exemple XML (annoté) Instructions de traitement Type de document Corps du document Racine du document Attribut Element vide Element non-vide Commentaire Balise d'ouvertureBalise de fermeture Declaration Marchand-Maillet Stéphane CUI, Université de Genève Entête du document

Cours XML 6 Stéphane Marchand-Maillet – CUI – Université de Genève – Document XML Entête adresses personne typenomprenomadresse personne typenomprenomadresse

Cours XML 7 Stéphane Marchand-Maillet – CUI – Université de Genève – Structure hiérarchique lSyntaxe XML: 6Une seule racine 6Imbrication correcte lSans les liens (Xlink/Xpointer), document = arbre 6Balises = Nœuds 6Contenus, Elements vides = feuilles lIl faut pouvoir naviguer dans cet arbre 6Structure de graphe orienté 6XPath = « Langage » de localisation

Cours XML 8 Stéphane Marchand-Maillet – CUI – Université de Genève – XPath (types) lSpécification W3C, V 1.0: 16/11/99 (V 2.0 pour XQuery) lTypes 6Boolean 6Number 6String 6Node-sets Sous-arbre lTypes of nodes: 6processing instruction nodesInstructions 6comment nodesCommentaires 6root nodes Racine 6element nodesÉlément 6attribute nodesAttribut 6namespace nodesAttributs d’un nœud d’un NS 6text nodesContenu

Cours XML 9 Stéphane Marchand-Maillet – CUI – Université de Genève – XPath (chemin = axes) lPosition (nœud) courant self. lDescendants 6Directchild / 6(In)directdescendant // lPredecesseurs 6Directparent.. 6(In)directancestor lFrères 6Meme niveau sibling 6Navigation following- / preceding-sibling lAutres 6 ancestor-or-self 6 descendant-or-self 6 namespace 6

Cours XML 10 Stéphane Marchand-Maillet – CUI – Université de Genève – Chemins descendant children sibling ancestor parent root processing commentaire attribut texte self

Cours XML 11 Stéphane Marchand-Maillet – CUI – Université de Genève – XPath (fonctions) lPositions relatives et information locale lExemples: 6position() : postion dans le contexte 6number() : Nombre de positions possibles dans le contexte 6count() : Cardinalité d’un « node-set » 6last() : Indicateur de derniere position lAutres: 6Fonctions booléennes: and, not, or, … 6Operateurs : mod, >, <=, … 6Fonctions de chaîne: contains, substring-before 6Fonctions d’environnement: normalize-space lPermettent des requêtes de base 6Analyse des contenus et noms de balises/attributs

Cours XML 12 Stéphane Marchand-Maillet – CUI – Université de Genève – XPath : exemples child::paragraphe : enfant ./paragraphe (premier de la liste) l child::text() : texte contenu dans les enfants l descendant::paragraphe : element paragraphe dans le ss-arbre 6 //paragraphe l child::*/child::paragraphe 6 */paragraphe l child::paragraphe/descendant::section 6./paragraphe//section l /descendant::list/child::item 6 //list/item l child::paragraphe[position()=last()-1] (avant-dernier paragraphe) l /child::doc/child::chapitre[position()=5]/child::section[position()=2]

Cours XML 13 Stéphane Marchand-Maillet – CUI – Université de Genève – Requête XML lStandardisation toujours en cours (presque finale - WD) lButs: 6Recherche d'informations dans le document 6Travaille directement sur la structure XML lRessemble à SQL lBases de réflexion: 6XML-QL (AT&T) 6YAT (INRIA) 6Lorel (Stanford) 6XQL (~Microsoft) 6Quilt (IBM)  Base du standard èKweelt (open source) èksp (module de Cocoon) 6Comparaison:

Cours XML 14 Stéphane Marchand-Maillet – CUI – Université de Genève – Langage de requête (analyse) lCapacités essentielles: 6Une formulation de la requête en trois parties: pattern + filter + constructor 6La possibilité d'imbriquer des requêtes, de les grouper, d'avoir une indexation interne et de pouvoir faire des opérations de classement 6de disposer d'un opérateur JOIN 6d'avoir un accès imprécis aux données pour une grande flexibilité lCapacités utiles 6Avoir la possibilité de définir une alternative en cas de données manquantes 6Pouvoir faire appel à des fonctions externes 6Pouvoir manipuler les données par références

Cours XML 15 Stéphane Marchand-Maillet – CUI – Université de Genève – Langage de requête (analyse) l10 Requêtes de test 6Sélection et extraction: "tous les ouvrages publiés après 1991" 6Flattening: l'arbre XML de la base est "mis à plat" 6Garder la structure: afficher la base dans sa version originale 6Changer la structure par imbrication de requête: lister la base par auteur 6Changer la structure par opérateur de regroupement 6Combiner plusieurs sources de données 6Indexer les éléments de la structure: accéder au 3ème auteur d'un livre 6Classer les résultats 6Avoir un accès approximatif (wildcard) sur les éléments (tags) 6Avoir un accès approximatif (wildcard) sur le contenu

Cours XML 16 Stéphane Marchand-Maillet – CUI – Université de Genève – Requirements lTest cases W3C 6Use Case "XMP": Experiences and Exemplars  Use Case "TREE": Queries that preserve hierarchy  Use Case "SEQ" - Queries based on Sequence  Use Case "R" - Access to Relational Data  Use Case "SGML": Standard Generalized Markup Language  Use Case "TEXT": Full-text Search  Use Case "NS" - Queries Using Namespaces  Use Case "PARTS" - Recursive Parts Explosion  Use Case "REF" - Queries based on References

Cours XML 17 Stéphane Marchand-Maillet – CUI – Université de Genève – XQuery language (1) lSpécification du W3C (Working Draft au 20/12/2001) lRessemble à SQL 6Notation ENBF (notation des DTD) 6Satisfait les contraintes emises « W3C XQuery requirements » 6S’inspire de Quilt (IBM) è basé sur XPath (2.0), XQL, XML-QL, ODMG lLiterals (éléments de base) 6Entiers, Flottants, Doubles, Chaînes lVariables 6Notation $nom lAppels de fonctions 6Syntaxe nom-de-la-fonction(…)

Cours XML 18 Stéphane Marchand-Maillet – CUI – Université de Genève – XQuery language (2) lRequêtes sur un arbre => parcours de l’arbre 6Utilisation de XPath lOpérateurs sur les éléments 6Logiques: and or 6Arithmetiques: + - * div mod (pas « / ») 6Comparaison: > = (en fait lt, gt, eq) 6Comparaison sur les nœuds: == !== 6Ordre sur les nœuds : > lNotion de « sequences » ~ listes 6Exemples (1,2,3,4) 6Operateurs: union, intersect,except

Cours XML 19 Stéphane Marchand-Maillet – CUI – Université de Genève – XQuery language (3) lConstructions 6Evaluation: {…} (symbole « ` » UNIX) lCommentaires 6{-- Ceci est un commentaire pour XQuery --} Harold and the Purple Crayon Crockett Johnson Here is a query. $i//title Here is the result of the above query. { $i//title } Here is a query. $i//title Here is the result of the above query. Harold and the Purple Crayon

Cours XML 20 Stéphane Marchand-Maillet – CUI – Université de Genève – XQuery language (4) lExpression FLWR (FLoWeR) 6FOR…LET…WHERE…RETURN… 6 Exemple: for $b in $input//book where $b/author = $a return $b/title l Classement: SORTBY…ASCENDING/DESCENDING 6 //book[price > 100] sortby ((author[1], title) ascending) l Conditions : IF…THEN…ELSE… 6 if ($widget1/unit-cost < $widget2/unit-cost) then $widget1 else $widget2 l Selection SOME/EVERY…SATISFIES 6 some $emp in //employee satisfies ($emp/bonus > 0.25 * $emp/salary)

Cours XML 21 Stéphane Marchand-Maillet – CUI – Université de Genève – XQuery language (5) lTYPESWITCH…CASE…DEFAULT… 6 typeswitch ($animal) case element duck return quack($animal) case element dog return woof($animal) default return "No sound" l define function summary (element employee* $emps) returns element dept* { for $d in distinct-values($emps/deptno) let $e := $emps[deptno = $d] return {$d} {count($e)} {sum($e/salary)} } summary(document("acme_corp.xml")//employee[location = "Denver"])

Cours XML 22 Stéphane Marchand-Maillet – CUI – Université de Genève – Requête: Exemple: KSP <!– QUERY  XML et XQuery Module KSP XML pur Module XSLT HTML Serveur Apache Browser WWW

Cours XML 23 Stéphane Marchand-Maillet – CUI – Université de Genève – Alternatives lServeur SQL classique 6Pas forcement adapte (Transport du systeme) lXML et SQL: Cocoon + module serveur MySQL 6Architecture lourde lPHP: spécialisé pour les BD SQL lMicrosoft: ASP + Access 6Plate-forme Microsoft 6Access n’est pas un serveur  Microsoft SQL server lChoix: dépend des cas d’utilisations et de leur contexte

Cours XML 24 Stéphane Marchand-Maillet – CUI – Université de Genève – Structuration de l’information lChoix technologique 6XML: Transport de données èTechnologie légère : Parseur + représentation objet èMultiplateforme èBasé sur le fichiers (texte) èPas de système de serveur èTexte = mauvaise compression èTexte => peu d’optimalité dans les requêtes èXML: Hiérarchique / Pas de structure relationelle (si avec XPointer) 6Structure: Choix de représentation èPas de recette générique èPeu faciliter l’analyse finale

Cours XML 25 Stéphane Marchand-Maillet – CUI – Université de Genève – Structuration (exemple) Jean Prof Groupe Vision vision Pierre Etude Groupe Vision vision Jean Prof Groupe Vision Pierre Etude T. I. O. S

Cours XML 26 Stéphane Marchand-Maillet – CUI – Université de Genève – Conclusion lXML structure d’arbre 6Navigation grâce à XPath 6Caractérisation de sous-arbres grâce aux Axes lRequêtes 6Travaillent sur les sous-arbres construits 6Opérateurs de comparaison 6Générent un sous-arbre extrait ou calculé lStructuration de données 6Dépend du contexte 6Pas de recette unique 6XML n’est pas forcément toujours le bon choix XML : Echange de données

Cours XML 27 Stéphane Marchand-Maillet – CUI – Université de Genève – Liens utiles (suite de la liste donnée au premier cours) lXPath : lXQuery : lQuilt : lKweelt : lDocument sur XQuery: lCocoon : ldbXML :