XML Schema restriction-element

Definition og brug

restriction-elementet definerer begrænsninger for simpleType、simpleContent eller complexContent.

Elementinformation

Optræden én
Forældrelement complexContent
Indhold group、all、choice、sequence、attribute、attributeGroup、anyAttribute

Grammatik

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

(? Symbol-deklaration findes i restriction-elementet, som kan forekomme nul eller én gang.)

Egenskab Beskrivelse
id Valgfri. Angiver det unikke ID for elementet.
base Obligatorisk. Angiver navnet på de indbyggede dataTyper, simpleType eller complexType elementer, der er defineret i dette schema (eller et andet schema indikeret af den angivne navnerum).
enhver attribut Valgfri. Angiver eventuelle andre attributter med non-schema navnerum.

Eksempel

Eksempel 1

Følgende eksempel definerer et element med navnet "age" med begrænsninger. Værdien for age må ikke være mindre end 0 eller større end 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>

Eksempel 2

Dette eksempel definerer et element med navnet "initials". "initials"-elementet er en simpel type med begrænsninger. Acceptable værdier er tre store eller små bogstaver fra a til 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>

Eksempel 3

Dette eksempel definerer en element med navnet "password". "password"-elementet er en simpel type med begrænsninger. Værdien skal være mellem 5 og 8 tegn lang:

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

Eksempel 4

Dette eksempel viser en kompleks type definition med begrænsninger. Den komplekse type "Chinese_customer" arver fra en almindelig customer kompleks type, og den faste værdi for country-elementet er "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>