Cours MIAGE Henry Boccon-Gibod 1 Extensible Mark up Language Modélisation structurelle de Messages e t de Documents en XML XML Schema.

Slides:



Advertisements
Présentations similaires
Sintaks : Tentative de guide de mise en œuvre Michel Hassenforder.
Advertisements

XML eXtensible Markup Language
Transformation de documents XML
Xavier Blanc Web Services Xavier Blanc
DTD Sylvain Salvati
Classe : …………… Nom : …………………………………… Date : ………………..
Travaux Dirigés d'Urbanisation de Système d'information
Cours MIAGE « Architectures Orientées Services » Henry Boccon-Gibod 1 Architectures Orientées Services Composants de Service Exemple pratique de développement.
Cours MIAGE Henry Boccon-Gibod1 XML, langage de structuration Modélisation structurelle en XML de Messages et de Documents.
Extensible Mark up Language
XML - Henry Boccon-Gibod 1 XML, Langage de description La question du choix de formalismes Les entités et leur représentations modalités de modèles et.
Urbanisation de Système d'Information
Cours MIAGE Henry Boccon-Gibod 1 XML, Extensible Mark up Language Un esperanto des langages informatiques.
JXDVDTEK – Une DVDthèque en Java et XML
Les espaces de nommage XML par Philippe Poulard 1
XML schema Objectifs Valider un doc. XML pour des contraintes syntaxiques Documenter un type de documents XML caractérisé par des contraintes Encadrer.
Le Modèle Logique de Données
XHTML EXtensible HyperText Markup Language. HTML et XML HTML (HyperText Markup Language) et XML (eXtensible Markup Language) sont deux spécifications.
Cours 1.2 : Introduction au langage XML
le langage les éléments
Le typage orienté objet pour les données XML
Domaines nominaux XSLT
Nicolas Singer Maître de conférence, université Champollion
JOME, un Composant Logiciel pour le Télé-Enseignement des Mathématiques via le WEB, Compatible OpenMath et MathML Laurent DIRAT OVE / I3S-UNSA.
Initiation au système d’information et aux bases de données
Développement d’applications web
CPI/BTS 2 Programmation Web Introduction au PHP
le profil UML en temps réel MARTE
Vuibert Systèmes dinformation et management des organisations 6 e édition R. Reix – B. Fallery – M. Kalika – F. Rowe Chapitre 1 : La notion de système.
B.Shishedjiev - Modèle relationnel
Introduction à la conception de Bases de Données Relationnelles
1.2 COMPOSANTES DES VECTEURS
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
Complément Le diagramme des classes
SYSTEMES D’INFORMATION
XML: Syntaxe XML, DTD et Schémas
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.
1. 2 PLAN DE LA PRÉSENTATION - SECTION 1 : Code HTML - SECTION 2.1. : CSS (Méthode 1) - SECTION 2.2. : CSS (Méthode 2) - SECTION 3 : JavaScript - SECTION.
An Introduction to distributed applications and ecommerce 1 1 Les services Web, XML et les places de marchés.
Chapitre 3 Syntaxe et sémantique.
COURS DE PROGRAMMATION ORIENTEE OBJET :
Initiation à la conception des systèmes d'informations
Initiation à XML Sebti Foufou.
8 - XML Cours XML.
ECOLE DES HAUTES ETUDES COMMERCIALES MARKETING FONDAMENTAL
Introduction.
Le langage XHTML 420-S4W-GG Programmation Web Client
CALENDRIER-PLAYBOY 2020.
LES PILES ET FILES.
Projet de stage d’année IIR4 sous le thème:
XML-schema. Pourquoi XML-schema Les DTD : Pas de typage, peu de contraintes sur les contenus nombre d'apparitions d'un élément à choisir entre 0 et 1.
Le langage XML.
XPath XML Path UP Web Année universitaire
Les Schémas XML Le standard W3C.
X xx yyy Document XML Résolution d'entités Résolution espaces de nommages Reader Parsing Contrôle de validité structurelle Contrôle arbre bien formé Contrôle.
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.
Seminaire XML B. Rothenburger A. Nouvel XML XSD XSL IRIT Toulouse Disponible Consultable dans l'équipe 21...
II. Conception et Manipulation des Documents 1. Introduction 2. DTD 3. Schéma 4. Outils.
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
1. Introduction 2. DTD 3. Schémas
XSD XML Schema Definition Année universitaire UP web.
eXtensible Markup Language. Généralités sur le XML.
Cours MIAGE M2 « architectures orientées services » Henry Boccon-Gibod Architectures Orientées Services Module 1 Rappels sur XML,
ACCARY-BARBIER / CNAM - Cycle C ère partie : Technologies XML  CHAPITRE 1 : XML et DTD  CHAPITRE 2 : Schémas XML  CHAPITRE 3 : XPath.
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.
XML les données réellement portables La nécessité d’un format de données universel et lisible se faisait sentir depuis longtemps, aujourd’hui avec le développement.
DTD - Y. Bekkers - IFSIC1 DTD Document Type Definition Yves Bekkers Mise à jour : 31 mai 2016.
Transcription de la présentation:

Cours MIAGE Henry Boccon-Gibod 1 Extensible Mark up Language Modélisation structurelle de Messages e t de Documents en XML XML Schema

Cours MIAGE Henry Boccon-Gibod 2 La compréhension de la modélisation structurelle en XML nécessite la connaissance de son Histoire. Au commencement était SGML, et les premiers documents XML ont dû se contenter des anciennes DTDs héritées de SGML. Avec leurs inconvénients : » un langage différend nécessite un parseur différent » La notion d'espace de noms était philosophiquement étrangère aux concepteurs de SGML (qui n'envisageaient pas de diversité de noms de balises) À la façon démocratique du W3C, il se développa plusieurs initiatives pour de nouvelles expressions de modèles structurels Avec un Typage de données plus puissant et évolutif Intégrant les notions d'espace de noms Utilisant XML pour définir les modèles eux-mêmes Apportant en plus la possibilité de contraintes partielles. Candidats pour s'intégrer aux recommandations du W3C – Indépendant de la forme sérialisée de XML » exploitant une structure logique basée sur les XML InfoSet Introduction

Cours MIAGE Henry Boccon-Gibod 3 Des candidats XML Schema Schematron DTD Document Type Definition Grammairesassertiions Modèles de Structuration de ressources XML RelaxNG

Cours MIAGE Henry Boccon-Gibod 4 Définir un nouveau mécanisme de support à la modélisation Reprenant les acquis des DTD en termes de définition de modèles Arbres d'objets typés et valués Permettant d'exprimer des contraintes fortes Typage de données plus puissant et évolutif Utilisant XML pour définir les modèles eux-mêmes Factorisation des outils et des méthodes Apporter en plus, de : Permettre de définir des contraintes incomplètes Complémentarité aux DTD : outil de validation de données S'intégrer à lensemble des spécifications W3C Prise en compte des espaces de noms Se rendre indépendant du format XML sérialisé validation appliquée à une structure logique basée sur les XML InfoSet Objectifs

Cours MIAGE Henry Boccon-Gibod 5 Schematron Soit une structure à définir pour un exemple de ressource XML Eddie Male On souhaite que soit respectée la bonne application des règles suivantes * l'élement de contexte (Person) doit avoir un attribut "Title" * l'élement de contexte doit contenir deux éléments "Name" et "Gender' * l'élement "Name" doit précéder l'élement "Gender" * Si l'attribut Title a la valeur value 'Mr, Gender doit avoir la valeur 'Male' ces assertions seraient exprimées en Schematron : The element Person must have a Title attribute. The element Person should have the child elements Name and Gender. The element Name must appear before element Gender. If the Title is "Mr" then the gender of the person must be "Male". le texte contenu dans les balises sert de message envoyé en cas de non respect d'une assertion.

Cours MIAGE Henry Boccon-Gibod 6 RelaxNG à l'instar des DTDs et de XML Schema, une ressource Relax NG définit une grammaire. Comme XML Schéma, RelaxNG est un langage XML : <grammar xmlns=" xmlns:a=" commentaire Le même avec la forme compacte (non XML) de relaxNG : personne { element titre {text}?, element nom {text}, element prenom {text}, element adresse {text}, }

Cours MIAGE Henry Boccon-Gibod 7 XML Schema XML Schema est une recommandation du W3C destinée à remplacer les DTDs, ce qui était nécessaire pour pouvoir exprimer des caractéristiques introduites par le métalangage XML que SGML et son langage de DTD fermé ne permettaient pas. XML ayant pour vocation d'être extensible, le langage XML Schema de description de contenu de documents XML est lui-même un document XML défini par un schéma, dont les balises de définition s'auto-définissent. (Il faut observer que pour être mathématiquement cohérente les recommandations de langages du W3C ont toujours une racine auto-définie de façon récursive). La recommandation du W3C 1.0 se compose d'un document de présentation (non normatif), d'un document précisant comment définir la structure, et d'un document précisant comment définir les données.

Cours MIAGE Henry Boccon-Gibod 8 Terminologie de XML Schema Le nom de la balise racine d'un document XML Schema est « shema ». elle contient des balises nommées, « element », « attribute », « simpleType », « complexType ».

Cours MIAGE Henry Boccon-Gibod 9 Schema Diagramme XML Spy

Cours MIAGE Henry Boccon-Gibod 10 Séquence Choix Tas Schema Diagramme XML Spy

Cours MIAGE Henry Boccon-Gibod XML Schema : approche par l'exemple (1) Un Document XML :

Cours MIAGE Henry Boccon-Gibod 12 Approche par lexemple (2)

Cours MIAGE Henry Boccon-Gibod 13 Approche par lexemple 3

Cours MIAGE Henry Boccon-Gibod 14 Approche par lexemple 4 pomme de terre oignon sel peler les patates précuire les patates à la vapeur peler les oignons faire revenir les oignons

Cours MIAGE Henry Boccon-Gibod 15 Approche par lexemple 5

Cours MIAGE Henry Boccon-Gibod 16 Approche par lexemple 6

Cours MIAGE Henry Boccon-Gibod 17 –Sequence : séquence ordonnée déléments (ET logique) –Choice : choix parmi un ensemble d'éléments (OU logique) –All : séquence non ordonnée –Utilisable uniquement au niveau le plus haut dun modèle de contenu et sur des éléments avec maxOccurs à 1 ; pas sur dautres groupes. –Contrôle des occurrences : minOccurs, maxOccurs Ordonnancement

Cours MIAGE Henry Boccon-Gibod 18 Si nous reprenons l'exemple culinaire, l'ordonnancement des ingredients peut se présenter comme suit : Exemple

Cours MIAGE Henry Boccon-Gibod 19 –Utilisation dans les déclarations déléments ou dattributs Objectifs : définir des types pour les utiliser dans des modèles de contenus ou des déclarations dattributs Un type est identifié et référencé par son nom ou directement défini (type anonyme) Simple Complex e Notion de type

Cours MIAGE Henry Boccon-Gibod 20 –Apport de lapproche "Objet" –Optimise la modularité –Dérivations de types Simples et complexes Par extension (ajout déléments, dattributs) Par restriction (interdiction déléments, dattributs, ajout de contraintes, facets sur les types simples) –Des types abstraits Utilisés comme des interfaces <element name="DEMANDE" type="string"/> Types et dérivation

Cours MIAGE Henry Boccon-Gibod 21 Toutes les définitions de types se font par référence ou par construction à partir de types existants, d'où les deux possibilités : –Extension : on ajoute des informations à un type existant, –Restriction : on façonne un type existant afin de le contraindre par rapport aux valeurs qu'il peut prendre. Types et dérivation

Cours MIAGE Henry Boccon-Gibod 22 Les types simples prédéfinis

Cours MIAGE Henry Boccon-Gibod 23 long –-1, unsignedLong –0, short –-1, unsignedShort –0, decimal –-1.23, 0, 123.4, float –-INF, -1E4, -0, 0, 12.78E-2, 12, INF, NaN double –-INF, -1E4, -0, 0, 12.78E-2, 12, INF, NaN boolean –true, false 1, 0 time –13:20:00.000, 13:20: :00 dateTime – T13:20: :00 duration –P1Y2M3DT10H30M12.3S date – gMonth – gYear –1999 Schema Les types simples (2)

Cours MIAGE Henry Boccon-Gibod 24 gYearMonth – gDay –---31 gMonthDay – Name –shipTo QName –po:Address NCName –Address anyURI – – D5http:// language –en-GB, en-US, fr ID –"A212" IDREF –"A212" IDREFS –"A212" "B213" ENTITY ENTITIES NOTATION NMTOKEN, NMTOKENS –US –Brésil Canada Mexique Les types simples (3)

Cours MIAGE Henry Boccon-Gibod 25 Decrivons les différents types d'unités de mesure (gramme, kilogramme, litre respectivement 3, 2, 2 digits) : Exemples de simpleTypes

Cours MIAGE Henry Boccon-Gibod 26 list : pour structurer un contenu textuel comme une liste –Sur lequel on peut imposer des contraintes union : pour fusionner plusieurs types simples Pierre Paul Jacques Liste et union de types simples

Cours MIAGE Henry Boccon-Gibod 27 Contraintes sur type simple prédéfini Utilisation de facettes –Taille fixe, minimale, maximale, nombre de chiffres après la virgule –Domaine de valeurs (bornes min et max) pour les types ordonnés –Expressions régulières Perl Exemple Dérivation de types simples

Cours MIAGE Henry Boccon-Gibod 28 Décrivons les types d'unités de mesure possibles avec les abréviations communes (gr pour gramme, kg pour kilogramme, l pour litre...) en utilisant le méchanisme de dérivation : Exemple

Cours MIAGE Henry Boccon-Gibod 29 Définition d'objets complexes – : collection ordonnée d'éléments typés – : collection non ordonnée d'éléments typés – : choix entre éléments typés Caractérisation du modèle de contenu –Mixed –Nillable –Empty Exemple Les types complexes

Cours MIAGE Henry Boccon-Gibod 30 Définition de sous-types par héritage –Par extension : ajout d'informations –Par restriction : ajout de contraintes Possibilité de contraindre la dérivation –Final : interdit la dérivation du type –Block : empêche la substitution de types Exemple : Dérivation de types complexes

Cours MIAGE Henry Boccon-Gibod 31 Decrivons un ingrédient par extension en ajoutant une information de type conservation qui possède les attributs temperature et temps : Exemple

Cours MIAGE Henry Boccon-Gibod 32 En XML schema il est possible (comme avec les DTD) de déclarer des attributs qui sont aussi soumis au processus de typage –Un attribut peut être déclaré au sein de l'élement (de manière anonyme): <xs:element.... –Sa déclaration peut être factorisée : <xs:element.... Les attributs

Cours MIAGE Henry Boccon-Gibod 33 Définition en XML Schema des attributs de l'élement ingredient... Exemple

Cours MIAGE Henry Boccon-Gibod 34 Un schéma fournit –Des définitions de types –Des déclarations déléments et dattributs appartenant à un espace de noms Chaque instance de document: –Utilise un ou plusieurs espaces de noms –Peut associer chaque espace de nom à un schéma … Champs lexicaux : Espaces de Noms

Cours MIAGE Henry Boccon-Gibod 35 Contraintes sur type simple prédéfini Utilisation d'expression régulières –Similaires à celles de Perl, Python, Tcl, Java Exemple Les patrons, dits « patterns »

Cours MIAGE Henry Boccon-Gibod 36 L'utilisation des expressions régulières permet de définir de manière plus ou moins précise les contenus possibles pour un type. Décrivons le type temperature pour qu'il n'accepte que la forme nn,nnC° : De même pour le type gramme : Exemple

Cours MIAGE Henry Boccon-Gibod 37 Possibilité de référencer localement un élément global – (Nom défini au premier niveau) –Importe l'élément et son type Définition de modèles réutilisables dans un schéma –group –attributeGroup Possibilité d'importer les types associés à un espace de noms –<import nameSpace = " – schemaLocation = " /> Possibilité dinclure ou d'étendre un schéma – –.... Extensions... – Réutilisation

Cours MIAGE Henry Boccon-Gibod 38 Réutilisation d'un schema existant déclarant des ingredients : <import nameSpace = " recette.cuisine.org'' schemaLocation = " Exemple

Cours MIAGE Henry Boccon-Gibod 39 Les espaces de noms

Cours MIAGE Henry Boccon-Gibod 40 Un espace de nom est aux expressions informatiques ce qu'un champ lexical est aux langues vivantes Un espace de nom (namespace) : –permet de garantir l'unicité d'un vocabulaire, –est dépositaire du modèle (de nommage) via l'association d'une URI qui documente et versionne ce dernier, –permet de poser des choix de conception d'un XML Schema pour guider la réutilisabilité des élements qu'il déclare, on parle alors : De forme qualifiée, Et de forme non qualifiée. –... est une forme qualifiée, –... ne l'est pas s'il n'y a pas de déclaration implicite. => importance de l'utilisation des espaces de noms ! Notion despace de noms

Cours MIAGE Henry Boccon-Gibod 41 La qualification des éléments dépend des choix de conception d'un XML Schema : –Un même document XML peut être validé par deux Schémas XML différents. Faut-il qualifier ou non ?

Cours MIAGE Henry Boccon-Gibod 42 Les deux schémas précédents peuvent être équivalents –Le premier déclare deux éléments globaux : purchaseOrder et comment –Le second déclare plus d'élements globaux : PurchaseOrder ShipTo BillTo Comment Name street Les élements globaux sont considérés comme des racines potentielles pour un document XML ! Les déclarations locales (i.e. Au sein de la déclaration d'un élement) restent ''anonymes'' et leur portée contextuelle, Les déclarations globales sont visibles de tous et peuvent générer des conflits ! Faut-il qualifier ou non ?

Cours MIAGE Henry Boccon-Gibod 43 Plus il y a d'élements globaux, plus le risque d'entrer en conflit avec un autre XML Schema est grand : –Si la définition fait partie d'un ensemble, il est conseillé de qualifier pour éviter les conflits, –Si elle représente un modèle unique de documents, avec peu voir pas d'utilisations de vocabulaires externes : Il est possible de ne rien qualifier, Dans le doute, éviter de multiplier les élements globaux et qualifier la racine uniquement. Faut-il qualifier ou non ?

Cours MIAGE Henry Boccon-Gibod 44 Lorsque l'on crée un XML Schema, il faut lui associer un espace de nom cible : –Il identifiera de facon unique le modèle –Syntaxe : targetNameSpace='' Tout document se réclamant instance de ce modèle doit importer cet espace de noms. Si l'on veut qualifier les élements et/ou les attributs : –ElementFormDefault = ''true|false'' –AttributeFormDefaut = ''true|false'' Syntaxe complète : <schema xmlns=" xmlns:po=" targetNamespace=" elementFormDefault="qualified" attributeFormDefault="unqualified"> Le processus de qualification

Cours MIAGE Henry Boccon-Gibod 45 Exemple de document utilisant une forme qualifiée explicite : <apo:purchaseOrder xmlns:apo=" orderDate=" "> Alice Smith 123 Maple Street Robert Smith 8 Oak Avenue Hurry, my lawn is going wild! Le processus de qualification

Cours MIAGE Henry Boccon-Gibod 46 Exemple de document utilisant une forme qualifiée implicite : <purchaseOrder xmlns=" orderDate=" "> Alice Smith 123 Maple Street Robert Smith 8 Oak Avenue Hurry, my lawn is going wild! Le processus de qualification

Cours MIAGE Henry Boccon-Gibod 47 Divers

Cours MIAGE Henry Boccon-Gibod 48 Wildcards –any –anyAttribute Annotations Unicité et références –unique –key –keyRef Types et éléments abstraits Substitution Autres fonctionnalités

Cours MIAGE Henry Boccon-Gibod 49 Mixed Content Empty Content anyType Annotations Attribute Groups Nil Values Specifying Uniqueness Defining Keys & their References Namespaces, Schemas & Qualification Target Namespaces & Unqualified Locals Qualified Locals Global vs. Local Declarations Undeclared Target Namespaces Substitution Groups Abstract Elements & Types Schema Autres possibilités...

Cours MIAGE Henry Boccon-Gibod 50 Bilan en létat de lart

Cours MIAGE Henry Boccon-Gibod 51 –Intérêt Conception : modélisation de classe dobjets –Lisibilité –Compatibilité XML et espaces de noms –Pouvoir de description des structures et des types –Pouvoir d'expression de contraintes –Très modulaire »Mécanisme de modularisation des modèles (inclusions et dérivation) »Permet des architectures de modèles ouvertes –XML comme langage »Toute lingénierie réutilisable Exploitation : validation et utilisation multiples –Coopération : plusieurs schémas sur une même instance (modularité) –Application spécifique : une instance validée et utilisée dans un contexte applicatif précis Bilan

Cours MIAGE Henry Boccon-Gibod 52 –Limite Spécification complexe Forme verbeuse Outils (de validation) extrêmement limités et "bogués" aujourd'hui Contraintes sur les atomes (données), mais pas sur les inter-relations –Quel est le rôle du modèle ? Quel est le rôle de lapplicatif ? Ne permet pas la fragmentation de fichiers de données –Nécessité d'une coopération avec DTD ou utilisation de Xinclude Attention compatibilité DTD –Vigilance sur fonctionnalités Schema utilisées si nécessité den dériver une DTD Bilan (suite)

Cours MIAGE Henry Boccon-Gibod 53 x xx yyy Document XML Résolution d'entités /Résolution espaces de noms Reader Contrôle de validité structurelle Contrôle au regard du modèle (DTD / Schéma) Interfaces (SAX, DOM pour partie) Application InfoSet PSVI Spécification La validation vue comme une transformation

Cours MIAGE Henry Boccon-Gibod 54 Fin du module