Schéma XML - Y. Bekkers1 Les Schémas XML Richesse des types Yves Bekkers Mise à jour : 31 mai 2016.

Slides:



Advertisements
Présentations similaires
Transformation de documents XML
Advertisements

DTD Sylvain Salvati
1 Bases de donn é es relationnelles. 2 Introduction au mod è le relationnel les donn é es sont repr é sent é es par des tables, sans pr é juger de la.
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 Extensible Mark up Language Modélisation structurelle de Messages e t de Documents en XML XML Schema.
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.
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
Xml/xslt : Extensible Stylesheet Language Transformation réalisé par: saÏd NAÏM.
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
XSLT Langage de transformation darbre 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.
PHP 2° PARTIE : FONCTIONS ET FORMULAIRE
Initiation à XML Sebti Foufou.
8 - XML Cours XML.
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.
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.
Seminaire XML B. Rothenburger A. Nouvel XML XSD XSL IRIT Toulouse Disponible Consultable dans l'équipe 21...
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
Introduction à XML Yves Bekkers. Plan Introduction - structurer l’information Les langages à balises - un peu d’histoire XML - concepts de base Outils.
Modélisation des documents: DTD et Schéma
1. Introduction 2. DTD 3. Schémas
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.
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.
Philippe Gandy - 8 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
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.
INF2005– Programmation web– A. Obaid Variantes de HTML.
1 Comment préparer un plan Document No. 2.1 Gestion des activités conjointes de lutte contre la tuberculose et le VIH: cours de formation pour responsables.
Jean Vieille Research community Consulting group
Hayri ACAR - Université Claude Bernard Lyon 1 XML & DTD Hayri ACAR, Université Lyon 1 Basé sur les cours de Yannick Prié 1.
Extensions à la spécification XML Le "plus petit cercle" XML Yves Bekkers Mise à jour : 9 octobre 2003.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 5 Support de cours rédigé par Bernard COFFIN Université.
DTD - Y. Bekkers - IFSIC1 DTD Document Type Definition Yves Bekkers Mise à jour : 31 mai 2016.
Introduction à la programmation
1 PréAO LMD - Support de cours. 2 Qu'est un logiciel de PréAO ? Outil de création de présentation Multimédia –Texte –Image / Photo –Son –Vidéo –Autres.
INSTITUT UNIVERSITAIRE DE TECHNOLOGIE -B.P.2235 – Avenue Aristide Briand – Montluçon Cedex Tél – Fax –
SMIL - Yves bekkers - IFSIC1 SMIL Synchronized Multimedia Integration Language par Yves Bekkers.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 6 Support de cours rédigé par Bernard COFFIN Université.
FACTORY systemes Module 5 Page 5-1 Les outils clients Wonderware FORMATION InSQL 7.0.
Initiation aux bases de données et à la programmation événementielle Outil de création des tables Support de TD rédigé par Bernard COFFIN Université Paris.
Projet Personnel (Epreuve 6) Projet réalisé dans le cadre de mon épreuve E6 au sein de mon alternance au conseil départemental du val de marne Arnaud PICANO.
La création des données d’exemplaire pour un exemplarisateur Sudoc.
GUIDE UTILISATEUR POUR LA CONSULTATION D’AMAC PST / Février 2016 APPLICATION POUR LA MAITRISE DES AGENTS CHIMIQUES.
Introduction à la Programmation Orientée Objet H.GATI.
Utilisation des composants Guillaume PHILIPPON. Sommaire Fonctionnement des composants Comprendre le fonctionnement d’un composant Les bonnes pratiques.
La création des données d’exemplaire pour un responsable de Centre Régional.
1 Initiation aux bases de données et à la programmation événementielle VBA sous ACCESS Cours N° 7 Support de cours rédigé par Bernard COFFIN Université.
Les limites de l’UML Présenté par : Samah Dekhil 1.
Informatique 2A Langage C 3 ème séance.
Cours de Langage C Les structures
Prochaine évolution de nos modèles bibliographiques : FRBR-LRM Pat Riva Présidente, FRBR Consolidation Editorial Group Séminaire.
Présenté par  Samira BELHORMA  Imane ZEHHAF. Introduction I. Définitions II. Quand et comment évaluer une compétence? III. Le contexte d’évaluation.
FORMATIONENT/SVT Saint Orens Vendredi 15 novembre 2013.
Christine Raymond - Promotion LE POSTER DE RECHERCHE un poster qui est une manière de valoriser un travail de recherche en affichant les résultats.
1 Initiation aux bases de données et à la programmation événementielle Construction d’un état Support de TD rédigé par Bernard COFFIN Université Paris.
20 Données semi-structurées et XML
Transcription de la présentation:

Schéma XML - Y. Bekkers1 Les Schémas XML Richesse des types Yves Bekkers Mise à jour : 31 mai 2016

Schéma XML - Y. Bekkers2 Plan Introduction par un exemple Les éléments du langage XMLSchema Modèle de contenu d'élément Contraintes pour les attributs Définitions locales Réutilisation : les groupes Validation Conclusion

Schéma XML - Y. Bekkers3 Introduction par un exemple DTD versus XMLSchéma

Schéma XML - Y. Bekkers4 Un exemple introductif Définition d'un élément par une DTD Exemple d'instance imprimante printer /4/04 item shipDate prodName prodName Séquence

Schéma XML - Y. Bekkers5 Élément racine d’un schéma xmlschema <xs:schema xmlns:xs=" targetNamespace=" xmlns="

Schéma XML - Y. Bekkers6 XMLSchema un dialecte XML Espace de noms du dialecte XMLSchema – –Préfixe recommandé xs:

Schéma XML - Y. Bekkers7 Définition par schémaXML <xs:element name="prodName" type="xs:string" maxOccurs="5"/> <xs:element name="USPrice" type="xs:decimal"/> <xs:element name="shipDate" type="xs:date" minOccurs="0"/> Séquence Types prédéfinis Type utilisateur

Schéma XML - Y. Bekkers8 Définition d'un type utilisateur XMLSchema est un dialecte XML –C'est plus bavard que les DTDs …

Schéma XML - Y. Bekkers9 DTD versus XMLSchema shipDate prodName prodName item Composant prodName USPrice DTD #PCDATA CDATA XMLSchema xs:string xs:decimal xs:date xs:string + restriction Plus de contraintes exprimées avec XMLSchema Des types de base primitifs prédéfinis xs:string, xs:decimal, xs:string, … Des types définis par l'utilisateur

Schéma XML - Y. Bekkers10 Déclaration d'un type dérivé Le type SKU (code produit) est défini à l'aide d'une déclaration de type dérivée du type xs:string Une contrainte sur la chaîne –3 chiffres + " - " + 2 lettres majuscules –Exemple : 344-AB La même restriction pourrait s'appliquer à un contenu d'élément shipDate prodName prodName item

Schéma XML - Y. Bekkers11 Contraintes d'occurrence dans les modèles de contenu Un modèle de contenu peut contenir des contraintes d'occurrence. Exemple : –N le nombre d'éléments –Contrainte : 0  N  5 <xs:element name="prodName" type="xs:string" minOccurs="0" maxOccurs="5"/>

Schéma XML - Y. Bekkers12 Contrainte : 7  N  12 DTD <!ELEMENT commande(biscuit,biscuit,biscuit,biscuit, biscuit,biscuit,biscuit, biscuit?,biscuit?,biscuit?,biscuit?,biscuit?)> XMLSchéma <xs:element name="biscuit" type="xs:string" minOccurs="7" maxOccurs="12" />

Schéma XML - Y. Bekkers13 Types énumérés pour les attributs DTD XMLSchéma

Schéma XML - Y. Bekkers14 DTD et modèle de contenu d'élément DTD –Impossible de spécifier un type énuméré comme contenu d'élément XMLSchéma –Comme un attribut, un contenu d'élément peut être de type énuméré –Exemple

Valeur par défaut Element Attribut <xs:attribute name="shoes" type="shoe_color" default="red"> Schéma XML - Y. Bekkers15

Schéma XML - Y. Bekkers16 DTD versus XMLSchema résumé Plus de sémantique exprimée par le schéma –L'élément contient une date –L'élément contient un décimal contient une chaîne restreinte à certains modèles Traitement orthogonale des attributs et des contenus d'élément (e.g. les types énumérés) Contraintes d'occurrences plus souples

Schéma XML - Y. Bekkers17 Vision W3C d'un schéma XML Un schéma XML est construit sur deux ensembles complémentaires de constructions –Les modèles de contenu Modèle de contenu vide Modèle de contenu simple (que du texte) Modèle de contenu complexe (que des éléments) Modèle de contenu mixte (texte + éléments) –Les types de données Type simple (attributs + éléments à contenu simple sans attribut) Type complexe (éléments à contenu simple avec attribut + tous les autres)

Schéma XML - Y. Bekkers18 Déclaration versus définition Les schéma XML contiennent –Des déclarations pour les composants d'instance de document Éléments Attributs Notations –Des définitions pour les composants internes au schéma Types Groupe modèles de contenu Groupe d'attributs

Schéma XML - Y. Bekkers19 Étude des éléments du langage XMLSchema

Schéma XML - Y. Bekkers20 Élément Élément racine d'un schéma XML <xs:schema name="…" xmlns:xs=" Constructions de niveau 0 (composants globaux) –Des déclarations d'élément –Des définitions de type complexes. –Des définitions de types simples –D'autres encore …/…

Schéma XML - Y. Bekkers21 Composants globaux ou locaux Les composants globaux apparaissent au premier niveau au sein de l'élément –Ils sont toujours nommés (attribut name="…" ) –Leur nom doit être unique au sein de leur type de composant Les composants locaux –Leur nom a une portée locale au type complexe dans lequel ils sont définis –Types simples et types complexes définis localement sont anonymes (ils ne peuvent être réutilisés)

Schéma XML - Y. Bekkers22 Conflit de noms Deux types ne peuvent avoir le même nom Deux éléments de type différents dans la même portée ne peuvent avoir le même nom Un type et un élément peuvent avoir le même nom

Schéma XML - Y. Bekkers23 Type et élément de même nom

Schéma XML - Y. Bekkers24 Type simple et type complexe Type simple permettent de donner un type aux : –Éléments qui ne contiennent que du texte et sans d'attribut Exemple Yves –Attributs (leur contenu n'est que textuel !) Type complexe permettent de donner un type aux : –Éléments qui ne contiennent que du texte mais avec attributs Exemple Rennes –Éléments qui contiennent d'autres éléments, à contenu mixte ou non

Schéma XML - Y. Bekkers25 Élément Déclaration de type complexe 1.Déclaration d'attribut –L'attribut type fait référence à un type simple –L'attribut use prend une valeur parmi required, optional, prohibited 2.Modèle de contenu … à suivre …

Schéma XML - Y. Bekkers26 Modèle de contenus pour éléments

Schéma XML - Y. Bekkers27 Modèle de contenu 4 sortes de modèles de contenu –Contenu vide (par défaut) –Contenu simple (seulement pour les contenus caractères) Type simple comme les attributs … –Contenu composé d'éléments Expression régulière –Combinaison,, –Chacun contenant des références à élément de la forme – –L'attribut ref fait référence à une définition d'élément –Attribut mixed="true | false" contenu mixte ou non

Schéma XML - Y. Bekkers28 Contenu vide avec attribut Exemple Définition <xs:attribute name="val" type="xs:string"/>

Schéma XML - Y. Bekkers29 Contenu simple textuel Exemple Yves Définition 1 Définition 2 Définition 3

Schéma XML - Y. Bekkers30 Contenu simple textuel avec attribut Exemple vern sur seiche Définition <xs:attribute name="code" type="xs:string" />

Autre moyen –l’extension d’un Exemple vern sur seiche Définition Schéma XML - Y. Bekkers31

Schéma XML - Y. Bekkers32 Contenu simple avec attribut et restriction du type de contenu (bis) Exemple 15.5 Définition

Schéma XML - Y. Bekkers33 Contenu complexe Expressions régulières Trois opérateurs de composition –Élément séquence d'éléments –Élément choix d'éléments –Élément permutation d'éléments

Schéma XML - Y. Bekkers34 Séquence d'éléments DTD XMLSchema

Schéma XML - Y. Bekkers35 Choix entre éléments DTD XMLSchema

Schéma XML - Y. Bekkers36 Élément à contenu mixte DTD XMLSchema

Schéma XML - Y. Bekkers37 Expression régulière (1) DTD XMLSchema

Schéma XML - Y. Bekkers38 Expression régulière (2) DTD XMLSchema <xs:element name="C" minOccurs="0" maxOccurs="unbounded"/> Valeurs par défaut : 1

Schéma XML - Y. Bekkers39 Réutilisation d'un type DTD –On utilise les entités paramètres Déclaration Utilisation XMLSchema : –Un type déclaré au niveau 1 de l'élément –Il est global, il porte un nom, il peut être réutilisé Modèle importé dans sa totalité

Schéma XML - Y. Bekkers40 Types différents pour un même élément

Schéma XML - Y. Bekkers41 Deux types différents pour le même nom d’élément - 1

Schéma XML - Y. Bekkers42 Deux types différents pour le même nom d’élément - 2

Schéma XML - Y. Bekkers43 Deux types différents pour le même nom d’élément - 3

Schéma XML - Y. Bekkers44 Contraintes pour les attributs

Schéma XML - Y. Bekkers45 Attribut chaîne obligatoire DTD XMLSchema <xs:attribute name="a" type="xs:string" use="required"/> obligatoire

Schéma XML - Y. Bekkers46 Attribut chaîne optionnel DTD XMLSchema <xs:attribute name="a" type="xs:string" use="optional"/> optionnel

Schéma XML - Y. Bekkers47 Type énuméré pour un attribut DTD XMLSchema Définition d'un type énuméré Par restriction du type xs:string

Schéma XML - Y. Bekkers48 Attribut à valeur fixe DTD XMLSchema <xs:attribute name="a" type="xs:string" fixed="x"/> Valeur fixe

Schéma XML - Y. Bekkers49 Types simples Les types simples peuvent être –Primitifs (ne dérivant pas d'un autre) –Dérivés d'un autres type simple Par une liste : séquence de types séparés par des blancs Par une union : union d'autres types simples Par une restriction : –length, minLength, maxLength (longueur de listes) –enumeration (liste de valeurs) –pattern (expression régulière à la Perl) –whitespace (préserver, remplacer, réduire les espaces) –minInclusive,maxInclusive (intervales bornés de valeurs)

Schéma XML - Y. Bekkers50 Types simples prédéfinis Ils peuvent être primitifs ou dérivés Il y en a une cinquantaine Exemples : string normalized-string name NCName langage float double long int short positive-integer negative-integer date time datetime duration ID IDREF IDREFS boolean hexBinary anyURI

Schéma XML - Y. Bekkers51 Restrictions d’un type

Schéma XML - Y. Bekkers52 Exemple : restriction de la longueur d'une chaîne

Schéma XML - Y. Bekkers53 Longueur minimum d’un identificateur

Schéma XML - Y. Bekkers54 Exemple : restriction du type date

Schéma XML - Y. Bekkers55 Entier borné

Schéma XML - Y. Bekkers56 Type énuméré - 1

Schéma XML - Y. Bekkers57 Type énuméré - 2

Schéma XML - Y. Bekkers58 Restriction d’un type simple Contenu –xs:minExclusive, xs:minInclusive, xs:maxExclusive, xs:maxInclusive, xs:totalDigits, xs:fractionDigits, xs:length, xs:maxLength, xs:minLength: xs:enumeration: xs:whiteSpace, xs:pattern –xs:attribute, xs:attributeGroup, xs:anyAttribute (contenu simple d’un type complexe)

Union de types simples Schéma XML - Y. Bekkers59

Union de types simples (bis) Schéma XML - Y. Bekkers60

Schéma XML - Y. Bekkers61 Restriction d’un type complexe Permet de réduire le nombre d’instances valides (la description de contenu doit être valide pour le contenu de base, les attributs inchangés peuvent être omis) Contenu –xs:group, xs:all, xs:choice, xs:sequence –xs:attribute, xs:attributeGroup, xs:anyAttribute

Schéma XML - Y. Bekkers62 Réutilisation d'un type simple DTD –On utilise les entités paramètres Déclaration Utilisation XMLSchema –Un type déclaré au niveau 0 de l'élément est global –Il porte un nom, il peut être réutilisé

Schéma XML - Y. Bekkers63 Définitions locales/globales

Schéma XML - Y. Bekkers64 Premier style d'écriture : "à plat" Utiliser une liste de définitions et déclarations globales –Toutes les définitions et déclarations sont directement au niveau 0 de l'élément Définitions globales d'éléments - peuvent être réutilisées partout Définition globale de type - peut être dérivé

Schéma XML - Y. Bekkers65 Second style d'écriture : "en poupées russes" Définitions et déclarations sont mises en ligne déclaration locale d'élément - ne peut pas être réutilisé ailleurs - y compris comme racine de document Définition locale de type - ne peut pas être dérivée

Schéma XML - Y. Bekkers66 Réutilisation : les groupes

Schéma XML - Y. Bekkers67 Réutilisation – groupe d'éléments DTD –On utilise les entités paramètres Déclaration Utilisation XMLSchema : groupe d'éléments –Déclaration globale

Schéma XML - Y. Bekkers68 Réutilisation d'un groupe d'élément DTD Déclaration Utilisation XMLSchema : groupe d'éléments –Utilisation du groupe seqAB Référence

Schéma XML - Y. Bekkers69 Réutilisation – groupe d'attributs DTD - On utilise les entités paramètres XMLSchema : groupe d'attributs –Déclaré au niveau 0 de l'élément –Utilisé dans un type complexe Attention la référence au groupe d'attribut doit apparaître après le modèle de contenu Attention la référence au groupe d'attributs doit apparaître après le modèle de contenu

Schéma XML - Y. Bekkers70 Contraintes d’intégrité Contrainte d’unicité Contrainte de référencement

Schéma XML - Y. Bekkers71 Exemple 1 Définition d’un ensemble de clés nommé myid

Schéma XML - Y. Bekkers72 Exemple 1 - bis référence

Schéma XML - Y. Bekkers73 Exemple 1 - ter

Schéma XML - Y. Bekkers74 Contraintes d’intrégrité - bis Référence Définition... Y Bekkers...

Schéma XML - Y. Bekkers75 Contraintes d’intrégrité - suite  Définition des clés   Définition des références 

Schéma XML - Y. Bekkers76 Contrainte d’unicité sur deux champs <xsd:selector xpath="department/product"/>

Schéma XML - Y. Bekkers77 Exemple 557 Short-Sleeved Linen Blouse Short-Sleeved Linen Blouse 39.99

Schéma XML - Y. Bekkers78 Exemple suite 563 Ten-Gallon Hat Deluxe Golf Umbrella 49.99

Schéma XML - Y. Bekkers79 Validation

Schéma XML - Y. Bekkers80 Rappel : validation par une DTD Nécessité de mettre une déclaration Exemple …

Schéma XML - Y. Bekkers81 XMLSchema deux dialectes XML Deux espaces de noms –Dialecte XMLSchema Préfixe recommandé xs: –Dialecte pour référencer une instance de XMLSchema Préfixe recommandé xsi:

Spécifier l'emplacement des schémas W3C XML Schema xsi:schemaLocation xsi:noNamespaceSchemaLocation Deux attributs de l'espace de noms XSI " " qui permettent de spécifier l'emplacement des schémas W3C XML Schema que l'on souhaite utiliser pour la validation d'un document. Schéma XML - Y. Bekkers82

xsi:schemaLocation Réservé à une suites de références vers des schémas W3C XML Schema décrivant des espaces de noms Son contenu est une suite de paires de valeurs alternant des URIs d'espaces de noms et les chemins d'accès aux schémas correspondant. Schéma XML - Y. Bekkers83

xsi:schemaLocation < racine xmlns=" xmlns:xsi=" " xsi:SchemaLocation=" monSchema.xsd"> : mon espace de noms 2.monSchema.xsd : fichier contenant mon schéma Schéma XML - Y. Bekkers84

xsi:noNamespaceSchemaLocation réservé aux références à des schémas décrivant des vocabulaires sans espaces de noms et sa valeur est constituée du chemin permettant d'accéder au schéma correspondant : <racine xmlns:xsi=" xsi:noNamespaceSchemaLocation="monSchema.xsd">... Schéma XML - Y. Bekkers85

Mon schéma décrit-il un espace de noms ? Pour voir si un schéma décrit un espace de noms, il suffit de regarder l'attribut " targetNamespace " de l'élément xs:schema Pas d’attribut targetNamespace : Pas d’espace de nom Schéma XML - Y. Bekkers86

Mon schéma décrit-il un espace de noms ? (bis) Présence d’un attribut targetNamspace Déclaration d’un espace de noms Schéma XML - Y. Bekkers87

Schéma XML - Y. Bekkers88 Type abstrait / héritage et validation Un exemple

Schéma XML - Y. Bekkers89 Validation d’un Type abstrait – «figType» utilisationdéfinition

Schéma XML - Y. Bekkers90 Cercle – une extension de type

Schéma XML - Y. Bekkers91 Carré – une extension de type

Exemple de contenu Schéma XML - Y. Bekkers92

Schéma XML - Y. Bekkers93 Validité de document type abstrait Document non valide 22.5 Document valide 22.5

Eléments abstraits Nécessité d’utiliser les groupes de substitution Schéma XML - Y. Bekkers94

Groupe de substitution Attribut substitutionGroup Des éléments globaux peuvent être regroupés sous un autre élément global (appelé la tête du groupe). Tous les éléments regroupés sous une tête peuvent être substitués à la tête. Tous les éléments sous une tête doivent avoir le même type ou un type dérivé de celui de la tête La tête peut être déclarée abstraite. Dans ce cas seuls les éléments sous la tête peuvent apparaître dans une instance de document. Schéma XML - Y. Bekkers95

Génie XML - Yves Bekkers96 Validation en Java par un schéma-xml Compilation DOM final String source = "carnetDAdresse.xml"; final String schema = "carnetDAdresse.xsd"; SchemaFactory schemaFactory = SchemaFactory.newInstance(XMLConstants.W3C_XML_SCHEMA_NS_URI); Schema schemaXSD = schemaFactory.newSchema(new File(schema)); // créer un compilateur DocumentBuilderFactory factory = DocumentBuilderFactory.newInstance(); // associer le schéma xml au compilateur factory.setSchema(schemaXSD); factory.setNamespaceAware(true); // important ne pas oublier DocumentBuilder parser = factory.newDocumentBuilder(); Document document = parser.parse(new File(source));

Schéma XML - Y. Bekkers97 Les xlmSchemas ont leur DTD <!DOCTYPE xs:schema PUBLIC "-//W3C//DTD XMLSCHEMA //EN" " > …

Modularité –Inclure des définitions d’un même espace de nommage Inclure des définitions d’un autre espace de nommage –Redéfinir dans le schéma actuel des types simples et complexes, des groupes et des groupes d'attributs obtenus à partir de fichiers de schéma externes. Schéma XML - Y. Bekkers98

Schéma XML - Y. Bekkers99 Ce que vous venez de voir Introduction par un exemple Les éléments du langage XMLSchema Modèle de contenu d'élément Contraintes pour les attributs Définitions locales Réutilisation : les groupes Validation Conclusion

Schéma XML - Y. Bekkers100 Ce qu'il reste à voir La subsomption Valeur par défaut pour les contenus d'élément et les attributs Contraintes d’unicité et –Xpath est utilisé pour définir des contraintes d'unicité

Schéma XML - Y. Bekkers101 Conclusion

Schéma XML - Y. Bekkers102 XMLSchema plus puissant que les DTDs, mais … Les schémas XML permettent d'exprimer beaucoup plus de contraintes que les DTDs Mais pour vérifier qu'un document est fonctionnel –Il restera toujours des contraintes qui ne seront pas exprimables dans un schéma –Elles seront vérifiées par les applications C'est gros et complexe (200 pages de définitions) –Il y a la place pour d'autres schéma de langage plus simples … Malgré cela les schémas XML sont en train d'entrer dans les mœurs

Schéma XML - Y. Bekkers103 D'autres langages de schéma RELAX NG [lien]lien Schematron ron.html [lien]lien DSD Document Structure Description [lien]lien Bien d'autres …

Schéma XML - Y. Bekkers104 Références XML Schema, Eric van der Vlist, O'Reilly Un court tutorial en ligne par le même auteur – as/part1.html [lien]lien The XML revolution, Anders Moller & Micheal I. Schwartzbach – [lien]lien