II. Conception et Manipulation des Documents 1. Introduction 2. DTD 3. Schéma 4. Outils.

Slides:



Advertisements
Présentations similaires
XML.
Advertisements

C#3 et le projet Linq Mitsuru FURUTA
XML eXtensible Markup Language
Transformation de documents XML
DTD Sylvain Salvati
Cours MIAGE Henry Boccon-Gibod1 XML, langage de structuration Modélisation structurelle en XML de Messages et de Documents.
Cours MIAGE Henry Boccon-Gibod 1 XML, langage de structuration documentaire Langage de transformation et langage d'interrogation.
Cours MIAGE Henry Boccon-Gibod 1 Extensible Mark up Language Modélisation structurelle de Messages e t de Documents en XML XML Schema.
XML schema Objectifs Valider un doc. XML pour des contraintes syntaxiques Documenter un type de documents XML caractérisé par des contraintes Encadrer.
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
Les fonctions de XPath et XSLT
Domaines nominaux XSLT
Nicolas Singer Maître de conférence, université Champollion
Introduction Concepts fondamentaux Éléments d’architecture
version Beta Marie Calberg Ninni Louhelainen SLFN7
Manipulation d’XML avec XSL
Page de garde Introduction aux Design Patterns ISIA, Mars 2003
Langage de structuration des données: XML
Cours 3: Base de donnée XML
Modélisation E/R des Données
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Web Structurel
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
Notions sur le XML Réfs : manuel p 149. Introduction Le XML (eXtensible Markup Language) est un standard d'échange de données. Il fait partie comme le.
Introduction au XML Choopan Rattanapoka Université Louis-Pasteur, Starsbourg.
Xpath XML Path language par Yves Bekkers
<XML/> Bruno GRILHERES (EADS CASSIDIAN)
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.
Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice.
Support des connaissances TP2 XSL-T
Initiation à XML Sebti Foufou.
8 - XML Cours XML.
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.
1 PLAN I. Eclipse Modeling Framework  Présentation  Le modèle Ecore  Code généré  Utilisation de template II.Graphical Modeling Framework  Présentation.
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.
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.
Les Schémas XML Le standard W3C.
Créer des packages.
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
Seminaire XML B. Rothenburger A. Nouvel XML XSD XSL IRIT Toulouse Disponible Consultable dans l'équipe 21...
Conception et Manipulations des Documents
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
1. Introduction 2. DTD 3. Schémas
XSD XML Schema Definition Année universitaire UP web.
Page 1 © Expert-IT s.a. - Développer des projets en XML Pratique.
Document Type Definition (DTD) Plan 2.1Introduction 2.2Déclaration de Document Type 2.3Déclaration d’élément Type 2.3.1Séquences, Choix, indicateurs d’Occurrence.
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,
XML: Rappels Concepts de Base
ACCARY-BARBIER / CNAM - Cycle C ère partie : Technologies XML  CHAPITRE 1 : XML et DTD  CHAPITRE 2 : Schémas XML  CHAPITRE 3 : 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.
Initiation aux bases de données et à la programmation événementielle
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.
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.
Jean Vieille Research community Consulting group
XML Introduction. Langage XML eXtensible Markup Language XML permet de créer des documents Avec des balises propres au document Langage «extensible» Représentant.
DTD - Y. Bekkers - IFSIC1 DTD Document Type Definition Yves Bekkers Mise à jour : 31 mai 2016.
Transcription de la présentation:

II. Conception et Manipulation des Documents 1. Introduction 2. DTD 3. Schéma 4. Outils

2 Introduction 1. Introduction Un document XML peut être associé à : une DTD ou un schéma pour décrire les balises Une feuille de style pour présenter les données DTD ou/et schéma permettent de définir son propre langage basé sur XML Vocabulaire (balises) Grammaire (imbrications)  Dialecte ou Jargon

3 Validité des documents Document bien formé (Well Formed Document) balises correctement imbriquées analysable (parsable) et manipulable pas nécessairement valide par rapport au jargon Document valide (Valid Document) bien formé + conforme à la DTD ou au schéma Introduction

4 2. DTD Permet de définir le «vocabulaire» et la structure qui seront utilisés dans le document XML Grammaire du langage dont les phrases sont des documents XML (instances) Peut être mise dans un fichier (DTD externe) et être appelée dans le document XML DTD

5 Déclaration d'élément simple Le paramètre définition représente soit un type de donnée prédéfini, soit un élément de données composé, constitué lui même d'éléments Types prédéfinis ANY : L'élément peut contenir tout type de donnée EMPTY : L'élément ne contient pas de données spécifiques #PCDATA : L'élément doit contenir une chaîne de caractère Exemple Victor Hugo DTD

6 Déclaration d'élément composé Définit une séquence ou un choix d'éléments Syntaxe spécifique avec opérateurs de composition d'éléments : DTD

7 Exemple d'élément composé Hugo Victor Charles Paris DTD

8 Déclaration d'attributs balise spécifie l'élément auquel est attaché l'attribut Attribut est le nom de l'attribut déclaré Type définit le type de donnée de l'attribut choisi parmi: CDATA Chaînes de caractères entre guillemets ("aa") non analysées Enumération Liste de valeurs séparées par | ID et IDREF Clé et référence à clé Mode précise le caractère obligatoire ou non de l'attribut #REQUIRED, #IMPLIED ou #FIXED DTD

9 Exemple d'attributs <! ATTLIST personne num ID, age CDATA, genre (Masculin | Feminin ) > DTD

10 Exemple de DTD <!DOCTYPE Restaurant [ <!ATTLIST Restaurant categorie CDATA #REQUIRED type CDATA #FIXED "francais" > <!ATTLIST Menu Nom CDATA #REQUIRED> ] DTD

11 Entité paramètre Permet la définition d'un groupe d'éléments sous un nom (macro) Réutilisable dans une DTD par simple appel : %nom; Exemple : Peuvent être externes : DTD

12 Insuffisance des DTD Pas de types de données difficile à interpréter par le récepteur difficile à traduire en schéma objets Pas en XML langage spécifique Propositions de compléments XML-data de Microsoft XML-schema du W3C Questions ? DTD

13 3. XML Schéma Un schéma d'un document définit: les éléments possibles dans le document les attributs associés à ces éléments la structure du document les types de données Le schéma est spécifié en XML pas de nouveau langage balisage de déclaration espace de nom spécifique xsd: ou xs: Présente de nombreux avantages structures de données avec types de données extensibilité par héritage et ouverture analysable à partir d'un parseur XML standard Schema

14 Objectifs des schémas Reprendre les acquis des DTD Plus riche et complet que les DTD Permettre de typer les données Eléments simples et complexes Attributs simples Permettre de définir des contraintes Existence, obligatoire, optionnel Domaines, cardinalités, références Patterns,... S'intégrer à la galaxie XML Espace de noms Infoset (structure d'arbre logique) Schema

15 Le modèle des schémas Déclaration des éléments et attributs Nom Typage similaire à l'objet Spécification de types simples Grande variété de types Génération de types complexes Séquence (Sequence) Choix (Choice) Tas (All) Schema

16 Les types simples (1) string Confirm this is electric normalizedString Confirm this is electric token Confirm this is electric byte -1, 126 unsignedByte 0, 126 base64Binary GpM7 hexBinary 0FB7 integer , -1, 0, 1, positiveInteger 1, negativeInteger , -1 nonNegativeInteger 0, 1, nonPositiveInteger , -1, 0 int -1, unsignedInt 0, Schema

17 Les types simples (2) 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

18 Les types simples (3) gYearMonth gDay gMonthDay Name shipTo QName po:USAddress NCName USAddress anyURI language en-GB, en-US, fr ID "A212" IDREF "A212" IDREFS "A212" "B213" ENTITY ENTITIES NOTATION NMTOKEN, NMTOKENS US Brésil Canada Mexique Schema

19 Commandes de base xsd: element : association d'un type à une balise attributs name, type, ref, minOccurs, maxOccurs,... attribute : association d'un type à un attribut attributs name, type type simple : les multiples types de base entier, réel, string, time, date, ID, IDREF, …, extensibles par des contraintes type complexe : une composition de types définit une agrégation d'éléments typés Schema

20 Les types complexes 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 Exemple Schema

21 Héritage de types Définition de sous-types par héritage Par extension : ajout d'informations Par restriction : ajout de contraintes Possibilité de contraindre la dérivation Exemple : Schema

22 Les patterns Contraintes sur type simple prédéfini Utilisation d'expression régulières Similaires à celles de Perl Exemple Schema

23 XML Schema : exemple (1) Schema

24 XML Schema : exemple (2) Schema

25 Diagramme XML Spy Schema

26 Diagramme de type (XML Spy) Séquence Choix Tas Schema

27 Réutilisation de déclarations Possibilité de référencer un élément plus global (ci-dessus) Importe l'élément et son type Possibilité d'inclure les types associés à un espace de noms <import nameSpace = " schemaLocation = " /> Possibilité d'étendre un schéma.... Extensions... Schema

28 Autres possibilités... Mixed Content Empty Content anyType Annotations Attribute Groups Nil Values Abstract Elements & Types Target Namespaces & Unqualified Locals Qualified Locals Global vs. Local Declarations Undeclared Target Namespaces Substitution Groups Schema

29 Comment concevoir DTD/Schema ? A la main syntaxe complexe, devient illisible Interface graphique IDE partir d'un fichier d'exemples générer un premier schéma via l'outil modifier le schéma graphiquement A partir de UML décrire les données avec UML (classes et relations) complémenter le modèle (types, attributs ou éléments) générer un modèle logique hiérarchique (messages) transformer en schéma XML Schema

30 Quelques règles d'écriture Modularité définir dans des types séparés les parties réutilisables Précédence Regrouper les déclarations de types en tête Abstraction Utiliser des entités ou types pour les modèles de contenus Spécificité Éviter les types trop généraux Simplicité Découper les schémas ou DTD trop complexes Schema

31 Exemple de produits: HyperModel De XML à UML et vice-versa Représentation XMI du modèle UML XMI = jargon XML de l'OMG pour modèle objet Traduction en toute sorte de modèle logique Ajoutable à Eclipse Schema

32 HyperModel et Eclipse Schema

33 4. Les outils de développement IDE = Integrated Developement Environment Des éditeurs De texte XML, parfois avec structure séparée De schéma XML, avec interface graphique De règles XSL, avec moteur de transformation De requêtes XQuery, avec moteur sur document De description WSDL, avec wrapper Web Service Des interfaces XML Aux fichiers Aux bases de données Aux applications Le plus fameux : XML Spy (voir démo.) IDE

34 Quelques outils de travail DTD, Schéma, XSL, XPath XMLMind EditorXML Mind DTD, Schéma, XSL, XPath XMLMateInsight Soft. SchémaXML JunctionData Junction DTD, Schéma XSL, XQuery OxygenSyncRO Ltd. DTD, Schéma XSL, XQuery XMLSpyAltova DTD, XSL, XQuery Schéma Turbo XMLTibco SupportOutilEditeur IDE

35 Stylus Studio Editeur graphique de XML et schéma XQuery requête, edition, debaugage et profilage Interrogation et mise à jour de BD relationnelles Support de XPath 2.0 Editeur et moteur XSLT Composeur d’appel de Web service IDE

36 Oxygen Editeur XML textuel et arborescent Editeur XSLT 2.0, validation, transformation, debogage, moteurs variés (Xalan, Saxon, XSLTProc, MSXML,…) Editeur XQuery, débogueur, moteur doc. Editeur et validateur XML Schema (diagramme), Relax NG (diagramme), NRL, DTD, Schematron. Moteur de validation multiples: Xerces, XSV, LIBXML, MSXML, MSXML.NET, Saxon, SQC XML Diff et Merge. IDE

37 Principaux poduits de Altova Altova XMLSpy® 2006 is the industry standard XML development environment for modeling, editing, debugging and transforming all XML technologies, then automatically generating runtime code in multiple programming languages. Altova MapForce® 2006 is the premier data mapping and Web services implementation tool with the power to integrate any combination of XML, database, text, and/or EDI files, and build Web services by mapping between WSDL operations. Altova StyleVision® 2005 is the ultimate electronic forms, database report, and stylesheet designer for transforming XML and database content into HTML, PDF and Word/RTF output. StyleVision supports XSLT 1.0/2.0, XSL:FO, and all major database Altova UModel® 2006 is the starting point for successful software development. Visually design application models and generate Java or C# code, or reverse engineer existing programs into UML 2.1 diagrams. It is the simple, cost-effective way to draw on UML. Altova DiffDog® 2005 is the dedicated differencing utility for developers and power users. This easy, powerful synchronization tool quickly compares files and folders then highlights differences and merges content via an elegant GU Altova Authentic® 2005 is a FREE content editor that allows non-technical users to modify content in XML documents and databases. Just fill in electronic forms using the intuitive, word-processor style interface, and your data is instantly updated. IDE

38 Bilan DTD, Schéma, IDE Les DTD définissent la grammaire des documents Elles sont de plus en plus souvent remplacées par des schémas Le standard est un peu complexe (Relax) mais suivi Un IDE est indispensable Et de moins en moins gratuit … Questions ? IDE