Facettes des types de données

Les types simples (qu'ils soient intégrés ou dérivés) ont des facettes. Une facette est un aspect définitoire unique contribuant à déterminer l'ensemble de valeurs d'un type simple. Par exemple, length, minInclusive et maxInclusive sont des facettes courantes des types de données intégrés. Toutes les facettes d'un type simple définissent l'ensemble de valeurs autorisées pour ce type.

Une facette se définit comme un élément. Chaque élément facet possède un attribut fixed qui est une valeur booléenne. Lorsque vous définissez un type simple, vous pouvez empêcher que les dérivés de ce type modifient la valeur des facettes spécifiées. Pour empêcher la modification d'une facette, ajoutez-lui l'attribut fixed, dont vous définissez la valeur sur true.

À l'exception des facettes enumeration et pattern, les facettes ne peuvent apparaître qu'une fois dans une définition de type. Les facettes enumeration et pattern peuvent avoir plusieurs entrées et sont regroupées.

Exemple

L'exemple suivant illustre un type simple dont l'attribut fixed est défini sur true, empêchant ainsi que la longueur puisse avoir une valeur autre que 7.

Liste des facettes de contrainte

Les facettes de contrainte (celles qui permettent de contraindre les valeurs de types simples), leur description et les types de données intégrés auxquels elles s'appliquent sont répertoriés ci-dessous.

  • length
    Nombre d'unités de longueur. Les unités de longueur dépendent du type de données. Cette valeur doit être un nonNegativeInteger. Pour plus d'informations, consultez les recommandations du W3C sur les schémas XML (en anglais), notamment le tome 2 relatif aux types de données, à l'adresse http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/\#element-length.
  • maxExclusive
    Valeur limite supérieure (toutes les valeurs sont inférieures à cette valeur). Cette valeur doit être du même type de données que le type de données hérité. Pour plus d'informations, consultez les recommandations du W3C sur les schémas XML (en anglais), notamment le tome 2 relatif aux types de données, à l'adresse http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/\#element-maxExclusive.
  • maxLength
    Nombre maximal d'unités de longueur. Les unités de longueur dépendent du type de données. Cette valeur doit être un nonNegativeInteger. Pour plus d'informations, consultez les recommandations du W3C sur les schémas XML (en anglais), notamment le tome 2 relatif aux types de données, à l'adresse http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/\#element-maxLength.
  • minExclusive
    Valeur limite inférieure (toutes les valeurs sont strictement supérieures à cette valeur). Cette valeur doit être du même type de données que le type de données hérité. Pour plus d'informations, consultez les recommandations du W3C sur les schémas XML (en anglais), notamment le tome 2 relatif aux types de données, à l'adresse http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/\#element-minExclusive.
  • minLength
    Nombre minimal d'unités de longueur. Les unités de longueur dépendent du type de données. Cette valeur doit être un nonNegativeInteger. Pour plus d'informations, consultez les recommandations du W3C sur les schémas XML (en anglais), notamment le tome 2 relatif aux types de données, à l'adresse http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/\#element-minLength.
  • pattern
    Modèle spécifique auquel les valeurs du type de données doivent correspondre. Limite un type de données aux littéraux qui correspondent au modèle spécifié. La valeur pattern doit être une expression régulière. Pour plus d'informations, consultez les recommandations du W3C sur les schémas XML (en anglais), notamment le tome 2 relatif aux types de données, à l'adresse http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/\#element-pattern.
  • whiteSpace
    La valeur doit être l'une des suivantes : preserve, replace ou collapse. Pour la plupart des types de données numériques, la facette whiteSpace ne peut pas être modifiée. Pour plus d'informations, consultez les recommandations du W3C sur les schémas XML (en anglais), notamment le tome 2 relatif aux types de données, à l'adresse http://www.w3.org/TR/2001/REC-xmlschema-2-20010502/\#element-whiteSpace.

    preserve

    Aucune normalisation n'est effectuée ; la valeur n'est pas modifiée pour le contenu des éléments, conformément à la recommandation du W3C sur XML 1.0.

    replace

    Toutes les occurrences de #x9 (tabulation), #xA (saut de ligne) et #xD (retour chariot) sont remplacées par #x20 (espace).

    collapse

    Après le traitement engagé par replace, les séquences contiguës de #x20 sont réduites de façon à n'obtenir qu'un seul #x20 et les #x20 de début et de fin sont supprimés.

Voir aussi

Référence

Référence des types de données XML
Types de données XML primitifs
Types de données XML dérivés