Attributs XSD

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

Qu'est-ce qu'un attribut ?

Les éléments simples ne peuvent pas posséder d'attributs. Si un élément possède des attributs, il est considéré comme un type composite. Cependant, l'attribut lui-même est toujours déclaré comme un type simple.

Comment déclarer un attribut ?

La syntaxe pour définir 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 possède 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

Voici un élément XML avec des attributs :

<lastname lang="EN">Smith</lastname>

Voici la définition de l'attribut correspondante :

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

Valeur par défaut et valeur fixe des attributs

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

Lorsque aucune autre valeur n'est spécifiée, la valeur par défaut est automatiquement attribuée aux éléments.

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

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

La valeur fixe est également automatiquement attribuée aux éléments, 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 optionnels et obligatoires

Par défaut, les attributs sont optionnels. Pour rendre un attribut obligatoire, utilisez l'attribut "use":

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

Limites du contenu

Lorsque l'élément ou l'attribut XML possède un type de données défini, des limites sont ajoutées au contenu de l'élément ou de l'attribut.

Si le type de l'élément XML est "xs:date" et que le contenu qu'il contient est une chaîne de caractères semblable à "Hello World", l'élément ne passera pas la validation.

Grâce au schéma XML, vous pouvez également ajouter vos propres limites à vos éléments XML et attributs. Ces limites sont appelées facettes (éditeur's note : cela signifie (du polyèdre) face, qui peut être traduit par face). Vous découvrirez plus sur les facettes dans la section suivante.