XML Schema restriction-element

Definitie en gebruik

De restriction-element definieert de beperkingen voor simpleType、simpleContent of complexContent.

Elementinformatie

voorkomen eenmaal
Hoofd-element complexContent
Inhoud group、all、choice、sequence、attribute、attributeGroup、anyAttribute

Syntax

<restriction
id=ID
base=QName
enkele eigenschappen
>
Inhoud voor simpleType:
(annotation?,(simpleType?,(minExclusive|minInclusive| 
maxExclusive|maxInclusive|totalDigits|fractionDigits|
length|minLength|maxLength|enumeration|whiteSpace|pattern)*))
Inhoud voor simpleContent:
(annotation?,(simpleType?,(minExclusive |minInclusive| 
maxExclusive|maxInclusive|totalDigits|fractionDigits|
(length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?, 
((attribute|attributeGroup)*,anyAttribute?))
Inhoud voor complexContent:
(annotation?,(group|all|choice|sequence)?,
((attribute|attributeGroup)*,anyAttribute?))
</restriction>

(? Symbool wordt aangegeven in het restriction-element dat het element nul of één keer kan aangeven.)

Eigenschappen Beschrijving
id Optioneel. Bepaalt het unieke ID van dit element.
basis Verplicht. Bepaalt de namen van de ingebouwde datatypes, simpleType of complexType-elementen die zijn gedefinieerd in dit schema (of een ander schema dat wordt aangegeven door de opgegeven naamruimte).
enkele eigenschappen Optioneel. Bepaalt alle andere eigenschappen met een non-schema naamruimte.

Voorbeeld

Voorbeeld 1

Het volgende voorbeeld definieert een element genaamd "age" met beperkingen. De waarde van "age" mag niet kleiner zijn dan 0 of groter dan 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>

Voorbeeld 2

Dit voorbeeld definieert een element genaamd "initials". Het element "initials" is van het eenvoudige type met beperkingen. De aanvaardbare waarden zijn drie hoofdletters of kleine letters van a tot 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>

Voorbeeld 3

Dit voorbeeld definieert een element genaamd "password". Het element "password" is van het eenvoudige type met beperkingen. De waarde moet minimaal 5 en maximaal 8 tekens zijn:

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

Voorbeeld 4

Deze voorbeeld toont een complexe type definitie met beperkingen. Het complexe type "Chinese_customer" wordt afgeleid van de gewone complexe type "customer", waarbij de vastgestelde waarde van het "country" element "China" is:

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