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.
- enumeration
Ensemble de valeurs spécifié. Limite un type de données aux valeurs spécifiées. 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-enumeration.
- fractionDigits
Valeur avec un nombre maximal spécifique de chiffres décimaux dans la partie fractionnaire. 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-fractionDigits.
- 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.
- maxInclusive
Valeur maximale. 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-maxInclusive.
- 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.
- minInclusive
Valeur minimale. 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-minInclusive.
- 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.
- totalDigits
Valeur avec un nombre maximal spécifique de chiffres décimaux. 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-totalDigits.
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