XSD Attributs


Tous les attributs sont déclarés comme des types simples.


Qu'est-ce qu'un attribut ?

Les éléments simples ne peuvent pas avoir d'attributs. Si un élément possède des attributs, il est traité comme un type complexe. Cependant, les attributs eux-mêmes sont toujours déclarés comme des types simples.


Comment déclarer un attribut ?

La syntaxe de définition d'un attribut est

<xs:attribute name="xxx" type="yyy"/>

Ici, xxx fait référence au nom de l'attribut, et yyy spécifie le type de données de l'attribut. XML Schema dispose de nombreux types de données intégrés.

Les types les plus courants sont :

  • xs:string
  • xs:decimal
  • xs:integer
  • xs:boolean
  • xs:date
  • xs:time

Exemple

Ceci est un élément XML avec un attribut :

Smith

Voici la définition d'attribut correspondante :

<xs:attribute name="lang" type="xs:string"/>


Valeurs par défaut et fixes pour les attributs

Les attributs peuvent avoir une valeur par défaut spécifiée ou une valeur fixe.

Lorsqu'aucune autre valeur n'est spécifiée, la valeur par défaut est automatiquement attribuée à l'élément.

Dans l'exemple suivant, la valeur par défaut est "EN" :

<xs:attribute name="lang" type="xs:string" default="EN"/>

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 "EN" :

<xs:attribute name="lang" type="xs:string" fixed="EN"/>


Attributs facultatifs et obligatoires

Par défaut, les attributs sont facultatifs. Pour spécifier qu'un attribut est obligatoire, utilisez l'attribut "use" :

<xs:attribute name="lang" type="xs:string" use="required"/>


Restrictions sur le contenu

Lorsqu'un élément ou attribut XML a un type de données défini, des restrictions sont ajoutées au contenu de l'élément ou de l'attribut.

Si le type d'un élément XML est "xs:date" et que son contenu est une chaîne comme "Hello World", l'élément ne passera pas la validation.

Grâce à XML Schema, vous pouvez également ajouter vos propres restrictions à vos éléments et attributs XML. Ces restrictions sont appelées facettes (note de l'éditeur : littéralement la face d'un polyèdre, ce qui peut être traduit par facette de restriction). Vous en apprendrez plus sur les facettes dans la section suivante.

Autres extensions