1. Introduction 2. DTD 3. Schémas

Slides:



Advertisements
Présentations similaires
France Telecom Matthieu Leclercq
Advertisements

Données structurées et XML
XML.
XML eXtensible Markup Language
DTD Sylvain Salvati
eXtensible Markup Language
Conception de Site Webs Interactifs Cours 4
Thème 3 : plate-forme de modélisation et de gestion de référentiels XML étapes modélisation des structures (UML) gestion du référentiel de modélisation.
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 1.2 : Introduction au langage XML
le langage les éléments
Les fonctions de XPath et XSLT
SVG: Scalable Vector Graphics. Dialecte dXML pour la représentation de graphique vectoriel 2D Tracés de base en vectoriel (courbes, lignes, rectangles,…)
Domaines nominaux XSLT
Nicolas Singer Maître de conférence, université Champollion
Introduction Concepts fondamentaux Éléments d’architecture
Université de Technologie de Belfort Montbéliard par S.Lamrous Le 10/05/ Créer un document XML élémentaire Créer un fichier.txt Enregistrer le fichier.
TP 3-4 BD21.
Manipulation d’XML avec XSL
Saisie dynamique de XML
Langage de structuration des données: XML
Cours 3: Base de donnée XML
OCaml – Les arbres L3 MI.
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
Introduction à la structuration des documents: les techniques M2: Gestion des connaissances.
XML: Syntaxe XML, DTD et Schémas
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.
Structures de données IFT-2000
Le langage Javascript pour le web
Introduction au XML Choopan Rattanapoka Université Louis-Pasteur, Starsbourg.
Manipulation de formulaires en Javascript
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.
Agenda Généralités sur XMLGénéralités sur XML La syntaxe du langage Les API pour XML Un exemple Un exercice.
DOCUMENT VALIDE 4 Obéir à une structure type prédéfini 4 Document valide = bien formé + obéir à une structure type définie dans une DTD 16 novembre 1999.
XML Plan du cours Introduction au fichier XML
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.
Le langage XHTML 420-S4W-GG Programmation Web Client
Les outils de base : XPath, XSL, XLink, XForms
Introduction à XML Généralités.
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 HTML ISN Terminale S Un peu d’histoire …
Le langage XML.
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.
Copyright © 2005 Yves MARCOUX1 Concepts XML de base Yves MARCOUX EBSI - Université de Montréal.
Initiation à XML Antonin Benoît DIOUF eXtensible Markup Language.
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
Soutenance du mémoire de synthèse
Module : Langage XML (21h)
Modélisation des documents: DTD et Schéma
XSD XML Schema Definition Année universitaire UP web.
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.
Formation XML Jonathan Marciano Mars 2004 Introduction à XML Introduction à XML Présentation des DTD Présentation des DTD.
L T I Laboratoire de Téléinformatique 2 Projet de semestre Parseur XML basé sur la DTD : Buts –Utiliser la grammaire définissant un type de fichiers XML.
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.
Introduction et Concepts : De SGML à XML 1. Origines et Objectifs 2. SGML et HTML 3. Introduction à XML 4. XML pour quoi faire ? 1.
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.
Amalia Todirascu 1.  Enseignants: Amalia Todirascu groupe  Contrôle de connaissances: examen.
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.
Document Type Definition (DTD)
Transcription de la présentation:

1. Introduction 2. DTD 3. Schémas XML: DTD et Schémas 1. Introduction 2. DTD 3. Schémas

1. Introduction Un document XML publiable : Le document XML lui-même la DTD ou le schéma pour décrire les balises Une feuille de style pour adapter le format aux besoins La DTD permet de définir son propre langage basé sur XML Vocabulaire Grammaire  Dialecte ou Jargon Introduction

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

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

Déclaration d'élément simple <! ELEMENT balise (définition) > Le paramètre définition représente soit un type de donnée prédéfini, soit un type 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 <! ELEMENT Nom (#PCDATA)> <Nom>Victor Hugo</Nom> DTD

Déclaration d'élément composé Elément composé d'une séquence ou d'un choix d'éléments Syntaxe spécifique avec opérateurs de composition d'éléments : <! ELEMENT balise (composition) > DTD

Exemple d'élément composé  <!ELEMENT personne (nom, prenom+, tel?, adresse >  <!ELEMENT nom (#PCDATA) >  <!ELEMENT prenom (#PCDATA) >  <!ELEMENT tel(#PCDATA) >  <!ELEMENT email (#PCDATA) > <!ELEMENT Adresse (ANY) > <personne>  <nom>Hugo</nom>  <prenom>Victor</prenom>  <prenom>Charles</prenom> <tel>01</tel>  <adresse><rue/><ville>Paris</ville></adresse>  </personne> DTD

Déclaration d'attributs <! ATTLIST balise Attribut Type Mode > 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 | <! ATTLIST balise Attribut (Valeur1 | Valeur2 | ... ) > 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

Exemple d'attributs <! ATTLIST personne num ID, age CDATA, genre (Masculin | Feminin ) > <!ELEMENT auteur (#PCDATA) >  <!ELEMENT editeur (#PCDATA) >  <!ATTLIST auteur genre (Masculin | Feminin ) #REQUIRED ville CDATA #IMPLIED> <!ATTLIST editeur ville CDATA #FIXED "Paris"> DTD

Exemple de DTD <!ELEMENT doc (livre* | article+) > <!ELEMENT livre (titre, auteur+) > <!ELEMENT article (titre, auteur*) > <!ELEMENT titre(#PCDATA) > <!ELEMENT auteur(nom, adresse) > <!ATTLIST auteur id ID #REQUIRED > <!ELEMENT nom(prenom?, nomfamille) > <!ELEMENT prenom (#PCDATA) > <!ELEMENT nomfamille (#PCDATA) > <!ELEMENT adresse (ANY) > DTD

Exemple de DTD interne DTD <?XML version="1.0" standalone="yes"?> <!DOCTYPE CATALOGUE [ <!ELEMENT CATALOGUE (VINS+)> <!ELEMENT VINS (SPECIFICATION+, ANNEE, PRIX)> <!ATTLIST VINS NOM CDATA #REQUIRED> <!ELEMENT SPECIFICATION EMPTY> <!ATTLIST SPECIFICATION PROVENANCE CDATA #REQUIRED COULEUR CDATA #REQUIRED> <!ELEMENT ANNEE (#PCDATA)> <!ELEMENT PRIX (#PCDATA)> ]> <CATALOGUE> <VINS NOM="Saint-Emilion"> <SPECIFICATION PROVENANCE="Bordeaux" COULEUR="Rouge"/> <ANNEE>1999</ANNEE> <PRIX>250F</PRIX> </VINS> ……... </CATALOGUE> DTD

Exemple de ID et IDREF <?xml version="1.0" standalone="yes"?> <!DOCTYPE DOCUMENT [ <!ELEMENT DOCUMENT(PERSONNE*)> <!ELEMENT PERSONNE (#PCDATA)> <!ATTLIST PERSONNE PNUM ID #REQUIRED> <!ATTLIST PERSONNE MERE IDREF #IMPLIED> <!ATTLIST PERSONNE PERE IDREF #IMPLIED> ]> <DOCUMENT> <PERSONNE PNUM = "P1">Marie</PERSONNE> <PERSONNE PNUM = "P2">Jean</PERSONNE> <PERSONNE PNUM = "P3" MERE="P1" PERE="P2">Pierre</PERSONNE> <PERSONNE PNUM = "P4" MERE="P1" PERE="P2">Julie</PERSONNE> </DOCUMENT> DTD

DTD externe Modèle pour plusieurs documents partage des balises et structures Définition locale ou externe <!DOCTYPE doc SYSTEM "doc.dtd"> <!DOCTYPE doc PUBLIC "www.myweb.com/doc.dtd"> Exemple de document <?xml version="1.0" standalone="no"?> <!DOCTYPE VINS SYSTEM "vins.dtd"> ... DTD

DTD : Entité paramètre Permet la définition d'un groupe d'éléments sous un nom (macro) <!ENTITY % nom "definition"> Réutilisable dans une DTD par simple appel : %nom; Exemple : <!ENTITY % genres "(homme | femme)"> <!ATTLIST auteur genre %genres; #REQUIRED> Peuvent être externes : <!ENTITY %mpeg SYSTEM "http://www.myweb.fr"> DTD

DTD : Entité générale Permet la définition d'un texte sous un nom <!ENTITY nom "texte"> Réutilisable dans un document par simple appel : %nom; <?xml version="1.0"?> <!DOCTYPE exemple [ <!ELEMENT exemple (#PCDATA, important)> <!ELEMENT important (#PCDATA)> <!ENTITY cie "Les Vignerons Réunis"> <!ENTITY imp "<important>Attention!</important>"> ]> <exemple> &cie; &imp; </exemple> DTD

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

Comment concevoir une DTD ? Méthode UML-XML décrire les sources de données avec UML utilisation de : classe attribut agrégation association généralisation fixer les cardinalités associations 0..* ou 1..* (++) attributs 0 ou 1 (?) Classe3 Classe1 1..* Attribut1 Attribut2 {exclusif} SClasse1 SClasse2 * Classe4 DTD

Exercice Définir les DTD pour publier une BD Schéma UML DTD Commandes Clients 1..* 1..* num int de code : int statut : char nom : text total : float type : CCC 0..* livrer gère 0..* 0..* 1..* 1..* Magasins Lignes numero : int quantite : int rue : text article : CCNNN complement : text statut : char code_postal : int total : FRF ville : text Schéma UML DTD

De UML à XML : les choix Choix des messages (documents) agrégation d'éléments classes fortement liées Choix des identifiants et liens références pour associations Attributs versus éléments les attributs jouent un rôle "méta" prise en compte des types étendus Choix des cardinalités obligatoire ou optionnel (?) 0..* (*) ou 1..* (+) DTD

Définition des types et classes <!-- Types de base--> <!ENTITY % int "(#PCDATA)"> <!ENTITY % float "(#PCDATA)"> <!ENTITY % char "(#PCDATA)"> <!ENTITY % string "(#PCDATA)"> <!-- Classe Commande --> <!ELEMENT Commande (cstatut, ctotal)> <!ATTLIST Commande NUM ID #REQUIRED> <!ELEMENT cstatut %char;> <!ELEMENT ctotal %float;> <!-- Classe Ligne --> <!ELEMENT Ligne (article, quantite, statut?, total?)> <!ELEMENT article %string;> <!ELEMENT quantite %int;> <!ELEMENT lstatut %char;> <!ELEMENT ltotal %float;> DTD

Definition DTD + MESSAGE <?xml version="1.0" standalone="yes"?> <!DOCTYPE MESSAGE [ <!ELEMENT MESSAGE (Commande, Ligne+)*> <!ENTITY %Type SYSTEM "Type.dtd"> %Type; ]> <MESSAGE> <Commande NUM="1"> <cstatut> A </cstatut> <ctotal>1000</ctotal> </Commande> <Ligne> <article>212</article> <quantite>100</quantite> </Ligne> <Commande NUM="2"> <cstatut> B </cstatut> <quantite>300</quantite> <article>412</article> <quantite>400</quantite> </MESSAGE> DTD

Insuffisance des DTD Pas de types de données Pas en XML difficile à interpréter (coercition nécessaire) difficile à traduire en schéma objets Pas en XML langage spécifique Propositions de compléments XML-data de Microsoft (BizTalk) XML-schema du W3C Questions ? DTD Essai

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 et les types de données Le schéma est spécifié en XML pas de nouveau langage balisage de déclaration domaine spécifique xsd: Présente de nombreux avantages structures de données avec types de données extensibilité par héritage et ouverture analysable par un parseur XML standard Schema Essai

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

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

2. XMLSchema 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 et les types de données Le schéma est spécifié en XML pas de nouveau langage balisage de déclaration domaine xsd: (namespace http://www.w3.org/2001/XMLSchema) Présente de nombreux avantages structures de données avec types de données extensibilité par héritage et ouverture factorisation des outils et méthodes XML A la différence des DTDs, XML Schéma utilise la syntaxe XML. Ainsi on n'est pas obligé d'apprendre une nouvelle syntaxe pour décrire sa grammaire. Il suffit juste d'apprendre à déclarer les éléments et les attributs en XML. XML Schéma présente de nombreux avantages : structures de données types de données ( par rapport aux DTDs ) extensibilité représentation en arbre Essai

Objectifs des schémas Reprendre les acquis des DTD Plus riche, flexible 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)

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)

Balises principales xsd: element : association d'un type à une balise attributs name, type, ref, minOccurs, maxOccurs, ... attribute : association d'un type à un attribut attributs name, type simpleType : typage du contenu textuel integer, double, string, time, date, ID, IDREF, …, Types utilisateurs restreints par des contraintes complexType : définition d’un modèle de contenu À base d’agrégation d'éléments typés et d’attributs Un schéma définit un ensemble de composants ainsi que leur rôle et leur interaction et leur combinaison correcte. Plusieurs types d'éléments peuvent être défini, on retrouve: les éléments: association d'un nom à un type défini à partir des structures ci-dessous et d'autres éléments les attributs avec pour contrainte le nombre d'occurrence les groupes d'attributs, permet d'insérer un ensemble de déclaration d'attributs dans un "archetype" Essai

Les types simples prédéfinis

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

Les types simples (2) long unsignedLong short unsignedShort decimal -1, 12678967543233 unsignedLong 0, 12678967543233 short -1, 12678 unsignedShort 0, 12678 decimal -1.23, 0, 123.4, 1000.00 float -INF, -1E4, -0, 0, 12.78E-2, 12, INF, NaN double boolean true, false 1, 0 time 13:20:00.000, 13:20:00.000-05:00 dateTime 1999-05-31T13:20:00.000-05:00 duration P1Y2M3DT10H30M12.3S date 1999-05-31 gMonth --05-- gYear 1999 Schema

Les types simples (3) language ID IDREF IDREFS ENTITY ENTITIES gYearMonth 1999-02 gDay ---31 gMonthDay --05-31 Name shipTo QName po:USAddress NCName USAddress anyURI http://www.example.com/, http://www.example.com/doc.html#ID5   language en-GB, en-US, fr ID "A212"  IDREF "A212" IDREFS "A212" "B213" ENTITY ENTITIES NOTATION NMTOKEN, NMTOKENS US Brésil Canada Mexique Schema

Liste et union de types simples list : pour structurer un contenu textuel comme une liste <simpleType name="ListePrenom"> <list itemType="string"/> </simpleType> Sur lequel on peut imposer des contraintes <simpleType name="ListePrenom3"> <restriction base="ListePrenom"> <length value="3" /> </restriction> union : pour fusionner plusieurs types simples <simpleType name="moneyInternational"> <union memberTypes="Euros Dollars" />

Dérivation de types simples 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 <xsd:simpleType name="SKU"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{3}-[A-Z]{2}"/> </xsd:restriction> </xsd:simpleType> Schema

Les types complexes Définition d'objets complexes <sequence> : collection ordonnée d'éléments typés <all> : collection non ordonnée d'éléments typés <choice>: choix entre éléments typés Caractérisation du modèle de contenu Mixed Nillable Empty Exemple <xsd:complexType name="USAddress"> <xsd:sequence> <xsd:element name="name" type="xsd:string"/> <xsd:element name="street" type="xsd:string"/> <xsd:element name="city" type="xsd:string"/> <xsd:element name="state" type="xsd:string"/> <xsd:element name="zip" type="xsd:decimal"/> </xsd:sequence> <xsd:attribute name="country" type="xsd:NMTOKEN" fixed=“US"/> </xsd:complexType>

Dérivation de types complexes 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 : <complexType name="AdressePays"> <complexContent> <extension base="Adresse"> <sequence> <element name="pays" type="string"/> </sequence> </extension> </complexContent> </complexType>

Schéma et namespace Un schéma fournit appartenant à un espace de noms Des définitions de types Des déclarations d’éléments et d’attributs 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 <po:purchaseOrder xmlns:po="http://www.example.com/PurchaseOrder" xsi:schemaLocation=" http://www.example.com/PurchaseOrder po.xsd"> … </po:purchaseOrder>

Les patterns Contraintes sur type simple prédéfini Utilisation d'expression régulières Similaires à celles de Perl Exemple <xsd:simpleType name="SKU"> <xsd:restriction base="xsd:string"> <xsd:pattern value="\d{3}-[A-Z]{2}"/> </xsd:restriction> </xsd:simpleType> Schema

XML Schema : exemple (1) <xsd:schema xmlns:xsd="http://www.w3.org/1999/XMLSchema"> <xsd:element name="purchaseOrder" type="PurchaseOrderType"/> <xsd:element name="comment" type="xsd:string"/> <xsd:complexType name="PurchaseOrderType"> <xsd:sequence> <xsd:element name="shipTo" type="USAddress"/> <xsd:element name="billTo" type="USAddress"/> <xsd:element ref="comment" minOccurs="0"/> <xsd:element name="items" type="Items"/> </xsd:sequence> <xsd:attribute name="orderDate" type="xsd:date"/> </xsd:complexType> Schema Essai

XML Schema : exemple (2) <xsd:complexType name="Items"> <xsd:sequence> <xsd:element name="item" minOccurs="0" maxOccurs="unbounded"> <xsd:complexType> <xsd:element name="productName" type="xsd:string"/> <xsd:element name="quantity"> <xsd:simpleType> <xsd:restriction base="xsd:positiveInteger"> <xsd:maxExclusive value="100"/> </xsd:restriction> </xsd:simpleType> </xsd:element> <xsd:element name="USPrice" type="xsd:decimal"/> <xsd:element ref="comment" minOccurs="0"/> <xsd:element name="shipDate" type="xsd:date" minOccurs="0"/> </xsd:sequence> <xsd:attribute name="partNum" type="SKU" use="required"/> </xsd:complexType> </xsd:complexType> </xsd:schema> Schema

Diagramme XML Spy Schema

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

Réutilisation Possibilité de référencer localement un élément global <element ref="Nom" /> (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 = "http:// ..." schemaLocation = "http:// ..." /> Possibilité d’inclure ou d'étendre un schéma <include schemaLocation="http:// ..."/> <redefine schemaLocation="http:// ..."/> .... Extensions ... </redefine>

Autres fonctionnalités Wildcards any anyAttribute Annotations Unicité et références unique key keyRef Types et éléments abstraits Substitution Gestion de la qualification Les déclarations globales sont toujours qualifiées Les déclarations locales peuvent l’être ou non Schéma sans namespace Les déclarations sont non qualifiées

Autres possibilités ... 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

Conception de schémas Possible à partir d'une modélisation UML Généralisation de l'approche DTD Introduction de stéréotypes Voir "Modeling XML Applications with UML" David Carlson, A. Wesley Produit HyperModel De XML à UML et vice-versa http://xmlmodeling.com/ Schema

Quelques outils de conception Editeur Outil Support Tibco Turbo XML 2.0 DTD Schéma Altova XML Spy 4.0 SyncRO Ltd. Oxygen 2.0 Data Junction XML Junction Insight Soft. XMLMate 2.0 Microstar Soft. Near & Far Designer Schema

Bilan DTD et Schéma Les DTD définissent la grammaire des tags Elles sont de plus en plus souvent remplacées par des schémas Le standard est un peu complexe (Relax) Questions ? DTD et Schema