Restrictions à un ensemble de valeurs
|
Pour limiter la teneur des éléments de XML à un ensemble de valeurs acceptables, nous avions l'habitude la contrainte d'énumération.
L'exemple ci-dessous définissent un élément appelé la « voiture » avec une restriction. Les seules valeurs acceptables sont : Audi, golf, BMW :
|
<xs:element name="car">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
L'exemple ci-dessus pourrait également avoir été écrit dedans comme ceci :
|
<xs:element name="car" type="carType"/>
<xs:simpleType name="carType">
<xs:restriction base="xs:string">
<xs:enumeration value="Audi"/>
<xs:enumeration value="Golf"/>
<xs:enumeration value="BMW"/>
</xs:restriction>
</xs:simpleType>
|
|
Note : Dans l'exemple au-dessus du type le « carType » peut être employé par d'autres éléments parce que ce n'est pas une partie de l'élément de « voiture ».
|
Restrictions à une série de valeurs
|
Pour limiter la teneur d'un élément de XML pour définir une série de lettres ou de nombres qui peuvent être employés, nous avions l'habitude la contrainte de modèle.
L'exemple ci-dessous définissent un élément appelé la « lettre » avec une restriction. La seule valeur acceptable est UNE de la lettre MINUSCULE d'a à z :
|
<xs:element name="letter">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Le prochain exemple définissent un élément appelé les « initiales » avec une restriction. La seule valeur acceptable est TROIS de la lettre MAJUSCULE d'a à z :
|
<xs:element name="initials">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[A-Z][A-Z][A-Z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Le prochain exemple définissent également un élément appelé les « initiales » avec une restriction. La seule valeur acceptable est TROIS de la lettre MINUSCULE OU MAJUSCULE d'a à z :
|
<xs:element name="initials">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[a-zA-Z][a-zA-Z][a-zA-Z]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Le prochain exemple définissent un élément appelé le « choix » avec une restriction. La seule valeur acceptable est UNE de la lettre suivante : X, y, OU z :
|
<xs:element name="choice">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:pattern value="[xyz]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Le prochain exemple définissent un élément appelé le « prodid » avec une restriction. La seule valeur acceptable est CINQ chiffres dans un ordre, et chaque chiffre doit être dans la gamme de 0 à 9 :
|
<xs:element name="prodid">
<xs:simpleType>
<xs:restriction base="xs:integer">
<xs:pattern value="[0-9][0-9][0-9][0-9][0-9]"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Restrictions aux caractères de Whitespace
|
Pour indiquer comment des caractères de whitespace devraient être manipulés, nous avions l'habitude les contraintes de whiteSpace.
Cet exemple définissent un élément appelé la « adresse » avec une restriction. La contrainte de whiteSpace est placée à la « conserve », qui signifie que le processeur de XML n'enlèvera aucun caractère d'espace blanc
|
<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="preserve"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Cet exemple définissent également un élément appelé la « adresse » avec une restriction. La contrainte de whiteSpace est placée à « remplacent », qui signifient que le processeur de XML REMPLACERA tous les caractères d'espace blancs (retour à la ligne, étiquettes, espaces, et retours chariot) avec les espaces :
|
<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="replace"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Cet exemple définissent également un élément appelé la « adresse » avec une restriction. La contrainte de whiteSpace est placée au « effondrement », qui signifie que le processeur de XML ENLÈVERA tout le caractère d'espace blanc (retour à la ligne, des étiquettes, les espaces, des retours chariot sont remplacés avec les espaces, menant et les espaces de remorquage sont enlevés, et les espaces multiples sont réduits à l'espace simple) :
|
<xs:element name="address">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Restrictions à la longueur
|
Pour limiter la longueur d'une valeur dedans à un élément, nous avions l'habitude la longueur, le maxLength, et les contraintes de minLength.
Cet exemple définissent un élément appelé le « mot de passe » avec une restriction. La valeur doit être exactement huit caractères :
|
<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:length value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Cet exemple définissent un autre élément appelé le « mot de passe » avec une restriction. La valeur doit être les huit caractères maximum et les caractères du minimum cinq :
|
<xs:element name="password">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:minLength value="5"/>
<xs:maxLength value="8"/>
</xs:restriction>
</xs:simpleType>
</xs:element>
|
|
Restrictions pour Datatypes
|
Constraint |
Description |
enumeration |
Defines a list of acceptable values |
fractionDigits |
Specifies the maximum number of decimal places allowed.
Must be equal to or greater than zero |
length |
Specifies the exact number of characters or list items
allowed. Must be equal to or greater than zero |
maxExclusive |
Specifies the upper bounds for numeric values (the
value must be less than this value) |
maxInclusive |
Specifies the upper bounds for numeric values (the
value must be less than or equal to this value) |
maxLength |
Specifies the maximum number of characters or list
items allowed. Must be equal to or greater than zero |
minExclusive |
Specifies the lower bounds for numeric values (the
value must be greater than this value) |
minInclusive |
Specifies the lower bounds for numeric values (the
value must be greater than or equal to this value) |
minLength |
Specifies the minimum number of characters or list
items allowed. Must be equal to or greater than zero |
pattern |
Defines the exact sequence of characters that are
acceptable
|
totalDigits |
Specifies the exact number of digits allowed. Must be
greater than zero |
whiteSpace |
Specifies how white space (line feeds, tabs, spaces,
and carriage returns) is handled |
|
|
|
Keywords:
XSD restrictions/facets,web service xsd,xsd tutorial,xsd xml,xsd examples,xsd dtd,xsd validator,xslt xsd,sample xsd