Derniers tutoriels de développement web
 

XML Schéma Élément de restriction


<XML Schema Complete Reference

Définition et utilisation

L'élément de restriction définit des restrictions sur une définition simpleType, simpleContent ou complexContent.

Informations sur l'élément

  • Parent elements: simpleType, simpleContent, complexContent

Syntaxe

<restriction
id=ID
base=QName
any attributes
>

Content for simpleType:
(annotation?,(simpleType?,(minExclusive|minInclusive|
maxExclusive|maxInclusive|totalDigits|fractionDigits|
length|minLength|maxLength|enumeration|whiteSpace|pattern)*))

Content for simpleContent:
(annotation?,(simpleType?,(minExclusive |minInclusive|
maxExclusive|maxInclusive|totalDigits|fractionDigits|
length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?,
((attribute|attributeGroup)*,anyAttribute?))

Content for complexContent:
(annotation?,(group|all|choice|sequence)?,
((attribute|attributeGroup)*,anyAttribute?))

</restriction>

(Le signe? Déclare que l'élément peut se produire zéro ou une fois à l'intérieur de l'élément de restriction)

Attribut La description
id Optionnel. Indique un identifiant unique pour l'élément
base

Obligatoire. Indique le nom d'un type de données intégré, élément simpleType ou complexType défini dans ce schéma ou un autre schéma

any attributes Optionnel. Indique tous les autres attributs avec non-schema espace de noms

Exemple 1

Cet exemple définit un élément appelé "age" avec une restriction. La valeur de l'âge ne peut pas être inférieur à 0 ou supérieur à 100:

<xs:element name="age">
  <xs:simpleType>
    <xs:restriction base="xs:integer">
      <xs:minInclusive value="0"/>
      <xs:maxInclusive value="100"/>
    </xs:restriction>
  </xs:simpleType>
</xs:element>

exemple 2

Cet exemple définit également un élément appelé "initials" . Le "initials" élément est un type simple avec une restriction. La seule valeur acceptable est trois des majuscules ou minuscules lettres de 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>

exemple 3

Cet exemple définit un élément appelé "password" de "password" . Le "password" de "password" élément est un type simple avec une restriction. La valeur doit être au minimum de cinq caractères et un maximum de huit caractères:

<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>

exemple 4

Cet exemple illustre une définition de type complexe à l'aide de restriction. Le type complexe "Norwegian_customer" est dérivé d'un client type complexe général et son élément de campagne est fixé à "Norway" :

<xs:complexType name="customer">
  <xs:sequence>
    <xs:element name="firstname" type="xs:string"/>
    <xs:element name="lastname" type="xs:string"/>
    <xs:element name="country" type="xs:string"/>
  </xs:sequence>
</xs:complexType>

<xs:complexType name="Norwegian_customer">
  <xs:complexContent>
    <xs:restriction base="customer">
      <xs:sequence>
        <xs:element name="firstname" type="xs:string"/>
        <xs:element name="lastname" type="xs:string"/>
        <xs:element name="country" type="xs:string" fixed="Norway"/>
      </xs:sequence>
    </xs:restriction>
  </xs:complexContent>
</xs:complexType>

<XML Schema Complete Reference