Elemento restriction XML Schema

Definizione e uso

L'elemento restriction definisce le restrizioni per simpleType, simpleContent o complexContent.

Informazioni sull'elemento

Frequenza di apparizione una volta
Padre elemento complexContent
Contenuto group、all、choice、sequence、attribute、attributeGroup、qualsiasi attributo

Sintassi

<restriction
id=ID
base=QName
qualsiasi attributo
>
Contenuto per simpleType:
(annotazione?,(simpleType?,(minExclusive|minInclusive| 
maxExclusive|maxInclusive|totalDigits|fractionDigits|
length|minLength|maxLength|enumeration|whiteSpace|pattern)*))
Contenuto per simpleContent:
(annotazione?,(simpleType?,(minExclusive |minInclusive| 
maxExclusive|maxInclusive|totalDigits|fractionDigits|
(length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?, 
((attributo|group di attributi)*,qualsiasi attributo?))
Contenuto per complexContent:
(annotazione?,(group|all|choice|sequence)?,
((attributo|group di attributi)*,qualsiasi attributo?))
</restriction>

(? Il simbolo è dichiarato nell'elemento restriction e può apparire zero o una volta.)

Proprietà Descrizione
id Opzionale. Specifica l'ID unico dell'elemento.
base Obbligatorio. Specifica il nome degli elementi di tipo built-in, simpleType o complexType definiti in questo schema (o in altri schema indicati dallo spazio nome specificato).
qualsiasi attributo Opzionale. Specifica qualsiasi altra proprietà con uno spazio nome non schema.

Esempio

Esempio 1

L'esempio seguente definisce un elemento chiamato "age" con vincoli. Il valore di "age" non può essere inferiore a 0 o superiore a 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>

Esempio 2

Questo esempio definisce un elemento chiamato "initials". L'elemento "initials" è di tipo semplice con vincoli. I valori accettati sono tre lettere maiuscole o minuscole da a 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>

Esempio 3

Questo esempio definisce un elemento chiamato "password". L'elemento "password" è di tipo semplice con vincoli. Il valore deve avere un minimo di 5 e un massimo di 8 caratteri:

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

Esempio 4

Questa esempio dimostra una definizione di tipo complesso utilizzando vincoli. Il tipo complesso "Chinese_customer" deriva dal tipo complesso "customer" comune, e il valore fisso dell'elemento "country" è "China":

<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="Chinese_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="China"/>
      </xs:sequence>
    </xs:restriction>
  </xs:complexContent>
</xs:complexType>