XML Schema restriction-Element

Definition und Verwendung

Der restriction-Element definiert Einschränkungen für simpleType, simpleContent oder complexContent.

Elementinformation

Auftretenshäufigkeit einmal
Übergeordnetes Element complexContent
Inhalt group、all、choice、sequence、attribute、attributeGroup、anyAttribute

Grammatik

<restriction
id=ID
base=QName
jegliche Attribute
>
Inhalt für simpleType:
(annotation?,(simpleType?,(minExclusive|minInclusive| 
maxExclusive|maxInclusive|totalDigits|fractionDigits|
length|minLength|maxLength|enumeration|whiteSpace|pattern)*))
Inhalt für simpleContent:
(annotation?,(simpleType?,(minExclusive |minInclusive| 
maxExclusive|maxInclusive|totalDigits|fractionDigits|
(length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?, 
((attribute|attributeGroup)*,anyAttribute?)
Inhalt für complexContent:
(annotation?,(group|all|choice|sequence)?,
((attribute|attributeGroup)*,anyAttribute?)
</restriction>

(Das Symbol wird in der Elemente restriction deklariert. Dieses Element kann null oder einmal auftreten.)

Eigenschaft Beschreibung
id Optional. Regelt die eindeutige ID des Elements.
grundlage Erforderlich. Regelt den Namen der in diesem Schema (oder durch angegebene Namensräume angegebenen anderen Schema) definierten internen Datentypen, simpleType oder complexType-Elemente.
jegliche Attribute Optional. Regelt alle anderen Attribute mit non-schema Namensräumen.

Beispiel

Beispiel 1

Der folgende Beispiel definiert ein Element namens "age" mit Einschränkungen. Der Wert von "age" darf nicht kleiner als 0 oder größer als 100 sein:

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

Beispiel 2

Dieses Beispiel definiert ein Element namens "initials". Das "initials"-Element ist ein einfacher Typ mit Einschränkungen. Akzeptierte Werte sind drei Groß- oder Kleinbuchstaben von a bis 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>

Beispiel 3

Dieses Beispiel definiert ein Element namens "password". Das "password"-Element ist ein einfacher Typ mit Einschränkungen. Der Wert muss aus mindestens 5 und maximal 8 Zeichen bestehen:

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

Beispiel 4

Dieses Beispiel zeigt eine komplexe Typdefinition mit Einschränkungen. Der komplexe Typ "Chinese_customer" wird aus dem gewöhnlichen "customer"-komplexen Typ abgeleitet, und der festgelegte Wert des "country"-Elements ist "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>