Les Schémas XML Le standard W3C.

Slides:



Advertisements
Présentations similaires
Introduction au Langage C,C++
Advertisements

Introduction Langage très répandu Noyau Linux VLC … Des avantages indéniables mais aussi des contraintes ! Ceci nest quun rapide tour.
Programmation Orienté Objet en C++
XML eXtensible Markup Language
Xavier Blanc Web Services Xavier Blanc
DTD Sylvain Salvati
Le langage de requêtes SPARQL SPARQL Protocol And RDF Query Language
1 Cours 5 Introduction aux schémas XML Éric Laporte Institut Gaspard-Monge Université Paris-Est Marne-la-Vallée.
GEF 243B Programmation informatique appliquée Types dérivés, structures et tableaux §
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.
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 typage orienté objet pour les données XML
Les fonctions de XPath et XSLT
Mise en œuvre d’un programme
Nicolas Singer Maître de conférence, université Champollion
JAV - TD 6 Structures de données JAVA
TP 3-4 BD21.
1 ARCHITECTURE DACCÈS la méthode générale modèle de données définitions module daccès / modules métiers construction des modèles les modules daccès, les.
Analyse et Conception des Systèmes d’Informations
Langage de structuration des données: XML
44 Contrôle du déroulement du programme. 4-2 Objectifs A la fin de ce cours, vous serez capables de : Utiliser les constructions de prise de décision.
Complément Le diagramme des classes
XML: Syntaxe XML, DTD et Schémas
MODELE RELATIONNEL concept mathématique de relation
Introduction au XML Choopan Rattanapoka Université Louis-Pasteur, Starsbourg.
Une nouvelle structure de données : les tableaux
<XML/> Bruno GRILHERES (EADS CASSIDIAN)
3. Spécifications fonctionnelles
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.
Principes de programmation
Schémas XML - cours 2 Éric Laporte Institut Gaspard-Monge
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.
C++ : variables Déclaration de variables
Données sous XML Stéphane Marchand-Maillet Groupe Viper Vision par Ordinateur et Multimédia CUI – Université de Genève
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.
05/02/98WEB ESNIG Attributs Oracle Designer/2000 & Oracle Web Server.
 Objet window, la fenêtre du navigateur
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.
Seminaire XML B. Rothenburger A. Nouvel XML XSD XSL IRIT Toulouse Disponible Consultable dans l'équipe 21...
Java Les primitives 1. Représentation d’éléments La représentation de n’importe quoi en informatique (chiffres, nombres, lettres, etc.) est composée de.
Conception et Manipulations des Documents
1 Schémas XML - cours 1 Éric Laporte Institut Gaspard-Monge Université Paris-Est Marne-la-Vallée.
MJ. Blin et M. CsernelPoleInfo31 XML et ses environnements Documents XML bien formés Prologue Arbre d'éléments Attributs Commentaires Entités internes.
II. Conception et Manipulation des Documents 1. Introduction 2. DTD 3. Schéma 4. Outils.
 Formulaires HTML : traiter les entrées utilisateur
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.
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.
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.
Le langage SQL.
Philippe Gandy - 22 septembre 2015 Basé sur les notes de cours de Daniel Morin et Roch Leclerc.
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
Transcription de la présentation:

Les Schémas XML Le standard W3C

Concepts de base: 1er exemple <xsd:schema xmlns:xsd= " http://www.w3.org/2001/XMLSchema " > <xsd:annotation> <xsd:documentation > Schema pour le document commande.xml </xsd:documentation> </xsd:annotation> <xsd:element name= "commande" type= "CommandeType" /> <xsd:element name= "commentaire" type= "xsd:string" /> <xsd:complexType name= "CommandeType" > <xsd:sequence> <xsd:element name= "envoyera" type= "Adresse" /> <xsd:element name= "facturation" type= "Adresse" /> </xsd:sequence> <xsd:attribute name= "datecommande" type= "xsd:date" /> </xsd:complexType> <xsd:complexType name= "Adresse" > <xsd:element name= "nom" type= "xsd:string" /> <xsd:element name= "ville" type= "xsd:string" /> <xsd:element name= "codepostal" type= "xsd:decimal" /> </xsd:schema> Balise de déclaration d'un schéma Balise de déclaration d'un élément Elément complexe Déclaration d'un attribut

Concepts de base:document XML valide <?xml version= "1.0" ?> <commande datecommande= "2003-10-20" > <envoyera> <nom> Alice Dupond </nom> <ville> Strasbourg</ville> <codepostal> 67000 </codepostal> </envoyera> <facturation> <nom> Robert Dupond </nom> <ville> Strasbourg </ville> </facturation> </commande>

Concepts de base: déclaration d'éléments Définition: <element default= string fixed= string form= (qualified|unqualified) maxOccurs= (entier positif |unbounded):1 minOccurs= entier positif:1 name= NCname nillable= boolean:false ref= QName substitutionGroup=QName type= Qname > Contenu: (annotation?, ((simpleType |complexType)?,(unique|key|keyref)*)) </element>

Concepts de base: contraintes d'occurence minOccurs, maxOccurs, fixed,default notes 1, 1, -, - Elément devant apparaître une fois, il peut avoir n'importe quelle valeur 1,1,37,- Elément devant apparaître une fois, sa valeur doit être 37 0,1,-,- Elément pouvant apparaître une fois, il peut avoir n'importe quelle valeur 2, unbounded, 37,- Elément devant apparaître 2 fois ou plus, sa valeur doit être 37 0,1,-,37 Elément pouvant apparaître 1 fois, si il n'apparaît pas sa valeur est 37 sinon sa valeur est celle donnée 0,2,-,37 Elément pouvant apparaître 1fois, 2 fois ou pas du tout, si l'élément est vide, sa valeur est 37, sinon sa valeur est celle donnée 0,1,37,- Elément pouvant apparaître 1 fois, si il apparaît sa valeur doit être 37, sinon sa valeur est 37 0,0,-,- L'élément ne doit pas apparaître

Concepts de base: attribut ref Il est possible d'utiliser un élément existant plutôt que d'en déclarer un nouveau: Ex: <xsd:element ref="commentaire" minOccurs="0"/> Cette déclaration fait référence à un élément existant, commentaire, déclarer ailleurs dans le schéma. ref doit faire référence à un élément global, fils de l'élément schema.

Concepts de base: éléments simples Définition: <simpleType Name= NCName> Content: (annotation?,(restriction|list|union)) </simpleType> <restriction base= QName> Content: (annotation?,(simpleType?,(minExclusive|minInclusive| maxExclusive|maxInclusive|totalDigits|fractionDigit|length|minLength|maxLength|enumeration|whiteSpace|pattern)*)) </restriction>

Concepts de base: éléments simples <list itemType=QName> Content: (annotation?,(simpleType?)) </list> <union memberTypes=Liste de QName> Content: (annotation?,(simpleType*)) </union>

Éléments simples prédéfinis Type simple exemples string chaîne positiveInteger 1,126789 normalizedString negativeInteger -126789,-1 token nonNegativeInteger 0,1,126789 byte -1,126 nonPositiveInteger -126789,-1,0 unsignedByte 0,126 int -1,1267896754 base64Binary GpM7 unsignedInt 0, 1267896754 hexBinary 0FB7 long -1, 12678967543233 integer -126789,-1,0,1,126789 unsigned long 0, 12678967543233 short -1,12678 unsigned short 0,12678 decimal -1.23,0,123.4,1000.0 float -INF,-1E4,-0,0, 12.78E-2

Éléments simples prédéfinis Type simple exemples double -INF,-1E4,-0,0,12.78E-2,12,INF,NaN gMonthDay --05-31 boolean True,false,1,0 Name envoyera time 13:20:00.000 QName Po:Adresse dateTime 2003-05-31T13:20:00.000 NCName Adresse duration P1Y2M3DT10H30M12.3S anyURY http://www.example.com/ date 2003-05-31 language En-GB,en-US,fr gMonth --05-- ID Uniquement dans les attributs gYear 2003 IDREF idem gYearMonth 2003-02 IDREFS gDay ---31 ENTITY ENTITIES NMTOKEN NOTATION NMTOKENS

Elément simples: restriction Exemples: <xsd:simpleType name= "monEntier" > <xsd:restriction base= "xsd:integer" > <xsd:minInclusive value= "10000" /> <xsd:maxInclusive value= "99999" /> </xsd:restriction> </xsd:simpleType> <xsd:simpleType name= "dessert" > <xsd:restriction base= "xsd:string" > <xsd:enumeration value= "patisserie" /> <xsd:enumeration value= "glace" />

Elément simple: liste Exemple: <xsd:simpleType name= "maListedEntier" > <xsd:list itemType= "monEntier" /> <xsd:simpleType> Élément XML satisfaisant cette définition: <maListedEntier> 20003 15037 95977 95945 </maListedEntier>

Elément simple: union Exemple: <xsd:simpleType name= "cpunion" > <xsd:union memberTypes= "xsd:string maListedEntier" /> </xsd:simpleType> <xsd:element name= "cp" type= "cpunion" /> Eléments XML satisfaisant cette définition: <cp> bas-rhin </cp> <cp> 20003 15037 95977 95945 </cp>

Concepts de base: éléments complexes Définition: <complexType mixed=boolean:false name=NCName> Content: (annotation?, (simpleContent|complexContent|((group|all|choice| sequence)?,((attribute|attributeGroup)*,anyAttribute?)))) </complexType>

Élément complexe: simpleContent Definition: <simpleContent> Content: (annotation?,(restriction|extension)) </simpleContent> <restriction> Content: (annotation?,(simpleType?,(minExclusive|minInclusive|maxExclusive|maxInclusive|totalDigits|fractionDigits|length|minLength|maxLength| enumeration|whiteSpace|pattern)*)?,((attribute|attributeGroup)*, anyAttribute?)) </restriction> <extension> Content: (annotation?,((attribute|attributeGroup)*,anyAttribute?)) </extension>

Élément complexe: simpleContent Exemple: <xsd:complexType name= "long1" > <xsd:simpleContent> <xsd:extension base="xsd:nonNegativeInteger"> <xsd:attribute name="unit" type="xsd:NMTOKEN"/> </xsd:extension> </xsd:simpleContent> </xsd:complexType>

Elément complexe: complexContent Définition: <complexContent mixed=boolean> Content: (annotation?,(restriction|extension)) </complexContent> <restriction base=QName> Content:(annotation?,(group|all|choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?)) </restriction> <extension Content: (annotation?,(group|all|choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?)) </extension>

Elément complexe: complexContent Exemple: <xsd:complexType name= "nomdepersonne" > <xsd:sequence> <xsd:element name= "prenom" minOccurs= "0" maxOccurs= "unbounded" /> <xsd:element name= "nom" /> </xsd:sequence> </xsd:complexType> <xsd:complexType nom= "nometendu" > <xsd:complexContent> <xsd:extension base= "nomdepersonne" > <xsd:element name= "generation" minOccurs= "0" /> </xsd:extension> </xsd:complexContent>

Elément complexe: group,all, choice,sequence Définition: <group Name=NCName > Content: (annotation?,(all|choice|sequence)) </group> <all maxOccurs=1:1 minOccurs=(0|1):1> content: (annotation?,element*) </all> <choice maxOccurs=(nonNegativeInteger|unbounded):1 minOccurs=nonNegativeInteger:1> content: (annotation?,(element|group|choice|sequence|any)*) </choice> <sequence </sequence>

Elément complexe: group,all, choice,sequence Exemple <xs:group name= "monGroup" > <xs:sequence> <xs:element ref= "quelquechose" /> . . . </xs:sequence> </xs:group> <xs:complexType name= "trivial" > <xs:group ref= "monGroup" /> <xs:attribute . . . /> </xs:complexType>

Elément complexe: group,all, choice,sequence Exemple: <xs:complexType name= "enplus" > <xs:choice> <xs:element ref= "autrechose" /> <xs:group ref= "monGroup" /> </xs:choice> <xs:attribute .../> </xs:complexType>

Elément complexe: group,all, choice,sequence Exemple: <xs:all> <xs:element ref= "chats" /> <xs:element ref= "chiens" /> </xs:all> <xs:sequence> <xs:choice> <xs:element ref= "gauche" /> <xs:element ref= "droite" /> </xs:choice> <xs:element ref= "paysage" /> </xs:sequence>

Concepts de base: déclaration d’attributs Définition: <attribute default=string fixed=string form=(qualified|unqualified) name=NCName ref=QName type=QName use=(optional|prohibited|required):optional> Content: (annotation?,(simpleType?)) </attribute>

Concepts de base: déclaration d’attributs Exemples: <xsd:attribute name= "age" type= "xsd:positiveInteger" use= "required" /> <xsd:complexType> <xsd:attribute name= "nom" type= "xml:lang" use= "required" /> <xsd:attribute name= "version" type= "xsd:number" fixed= "1.0" /> </xsd:complexType>

Concepts de base: groupe d'attributs Définition: <attributeGroup name=NCName ref=QName> Content: (annotation?,(attribute|attributeGroup)*,anyAttribute?)) </attributeGroup>

Concepts de base: groupe d'attributs Exemple: <xsd:attributeGroup name= "mongroupe" > <xsd:attribute . . . /> <xsd:attributeGroup> <xsd:complexType name= "monelement" > . . . <xsd:attributeGroup ref= "mongroupe" /> <xsd:complexType>