Déclaration d'éléments
XSD utilisant la syntaxe XML, il contient obligatoirement l'élément racine <schema>
L'élément <schema> peut contenir plusieurs attributs.
Une déclaration de schema ressemblera souvent à :
É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
Exemple : XML
Syntaxe : XSD
<xs:element name="nom" type="xs:string"/>
<xs:element name="age" type="xs:integer"/>
<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).
Élément complexe
Un élément complexe est un élément XML qui contient d'autres éléments et/ou des attributs.
Exemple : XML
Syntaxe : XSD : Méthode 1
<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>
<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>
Syntaxe : XSD : Méthode 2
<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>
<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
.