Éléments simples XSD
Les schémas XML définissent les éléments de vos fichiers XML.
Un élément simple est un élément XML qui ne contient que du texte. Il ne peut contenir aucun autre élément ou attribut.
Qu'est-ce qu'un élément simple ?
Un élément simple est un élément XML qui ne peut contenir que du texte. Il ne peut contenir aucun autre élément ou attribut.
Cependant, la restriction "uniquement du texte" est assez trompeuse. Le texte peut être de plusieurs types différents. Il peut s'agir de l'un des types inclus dans la définition du schéma XML (booléen, chaîne, date, etc.) ou d'un type personnalisé que vous pouvez définir vous-même.
Vous pouvez également ajouter des restrictions (facettes) à un type de données afin de limiter son contenu, ou vous pouvez exiger que les données correspondent à un modèle spécifique.
Définir un élément simple
La syntaxe pour définir un élément simple est :
<xs:element name="xxx" type="yyy"/>
où xxx est le nom de l'élément et yyy est le type de données de l'élément.
XML Schema a beaucoup de types de données intégrés. Les types les plus courants sont :
- xs : chaîne
- xs : décimal
- xs : entier
- xs : booléen
- xs :date
- xs : temps
Exemple
Voici quelques éléments XML :
<lastname>Refsnes</lastname>
<age>36</age>
<dateborn>1970-03-27</dateborn>
Et voici les définitions d'éléments simples correspondantes :
<xs:element name="lastname" type="xs:string"/>
<xs:element name="age" type="xs:integer"/>
<xs:element name="dateborn" type="xs:date"/>
Valeurs par défaut et valeurs fixes pour les éléments simples
Les éléments simples peuvent avoir une valeur par défaut OU une valeur fixe spécifiée.
Une valeur par défaut est automatiquement affectée à l'élément lorsqu'aucune autre valeur n'est spécifiée.
Dans l'exemple suivant, la valeur par défaut est "rouge" :
<xs:element name="color" type="xs:string" default="red"/>
Une valeur fixe est également automatiquement attribuée à l'élément et vous ne pouvez pas spécifier une autre valeur.
Dans l'exemple suivant, la valeur fixe est "rouge" :
<xs:element name="color" type="xs:string" fixed="red"/>