W3C XML Schema

Déclaration d'éléments

XSD utilisant la syntaxe XML, il contient obligatoirement l'élément racine <schema>

CTRL+C pour copier, CTRL+V pour coller
1
<xs:schema>
2
...
3
...
4
</xs:schema>
<xs:schema>
...
...
</xs:schema>

L'élément <schema> peut contenir plusieurs attributs.

Une déclaration de schema ressemblera souvent à :

CTRL+C pour copier, CTRL+V pour coller
1
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
2
...
3
...
4
</xs:schema>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
...
...
</xs:schema>

Élément simple

Un élément simple est un élément XML qui ne peut contenir que du texte. Il ne peut contenir d'attributs ou d'autres éléments. Cependant, le texte peut être de différents types : booléen, chaîne, date, etc..

Il est également possible d'ajouter des restrictions à un type de données afin de limiter son contenu.

Syntaxe d'un élément simple

CTRL+C pour copier, CTRL+V pour coller
1
<xs:element name="x" type="y"/>
<xs:element name="x" type="y"/>

x est le nom de l'élément et y le type de données.

XSD a beaucoup de type de données prédéfinis.

Les plus courants sont :

  • xs:string

  • xs:decimal

  • xs:integer

  • xs:boolean

  • xs:date

  • xs:time

ExempleXML

CTRL+C pour copier, CTRL+V pour coller
1
<nom>Dupont</nom>
2
<age>25</age>
3
<date>2013-11-01</date>
<nom>Dupont</nom>
<age>25</age>
<date>2013-11-01</date>

SyntaxeXSD

CTRL+C pour copier, CTRL+V pour coller
1
<xs:element name="nom" type="xs:string"/>
2
<xs:element name="age" type="xs:integer"/>
3
<xs:element name="date" type="xs:date"/>
<xs:element name="nom" type="xs:string"/>
<xs:element name="age" type="xs:integer"/>
<xs:element name="date" type="xs:date"/>

Un élément simple peut avoir une valeur par défaut (si aucune autre valeur n'est spécifiée) ou encore une valeur fixée (aucune autre valeur ne pourra être spécifiée).

Syntaxe

CTRL+C pour copier, CTRL+V pour coller
1
<xs:element name="color" type="xs:string" default="red"/>
2
<xs:element name="color" type="xs:string" fixed="red"/>
<xs:element name="color" type="xs:string" default="red"/>
<xs:element name="color" type="xs:string" fixed="red"/>

Élément complexe

Un élément complexe est un élément XML qui contient d'autres éléments et/ou des attributs.

ExempleXML

CTRL+C pour copier, CTRL+V pour coller
1
<personne>
2
  <nom>Dupont</nom>
3
  <prenom>Jean</prenom>
4
 </personne>
<personne>
  <nom>Dupont</nom>
  <prenom>Jean</prenom>
 </personne>

SyntaxeXSD : Méthode 1

CTRL+C pour copier, CTRL+V pour coller
1
<xs:element name="personne">
2
  <xs:complexType>
3
    <xs:sequence>
4
      <xs:element name="nom" type="xs:string"/>
5
      <xs:element name="prenom" type="xs:string"/>
6
    </xs:sequence>
7
  </xs:complexType>
8
</xs:element>
<xs:element name="personne">
  <xs:complexType>
    <xs:sequence>
      <xs:element name="nom" type="xs:string"/>
      <xs:element name="prenom" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

SyntaxeXSD : Méthode 2

CTRL+C pour copier, CTRL+V pour coller
1
<xs:element name="personne" type="personneinfo"/>
2
<xs:complexType name="personneinfo">
3
  <xs:sequence>
4
    <xs:element name="nom" type="xs:string"/>
5
    <xs:element name="prenom" type="xs:string"/>
6
  </xs:sequence>
7
</xs:complexType>
<xs:element name="personne" type="personneinfo"/>
<xs:complexType name="personneinfo">
  <xs:sequence>
    <xs:element name="nom" type="xs:string"/>
    <xs:element name="prenom" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

Remarque

La balise <xs:sequence> signifie que les éléments qui suivent ("nom" et "prenom") doivent apparaître dans cet ordre dans un élément "personne".

Remarque

En utilisant la seconde méthode, plusieurs éléments peuvent désigner le même complexType.

PrécédentPrécédentSuivantSuivant
AccueilAccueilImprimerImprimer Perrine Ravaud, 2013 (Contributions : Stéphane Crozat, les étudiants de NF29) Paternité - Partage des Conditions Initiales à l'IdentiqueRéalisé avec Scenari (nouvelle fenêtre)