XML Schema restriction element

Definition and usage

The restriction element defines constraints for simpleType, simpleContent, or complexContent.

Element information

Occurrence times Once
Parent element complexContent
Content group, all, choice, sequence, attribute, attributeGroup, anyAttribute

Syntax

<restriction
id=ID
base=QName
alla attribut
>
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>

(? Symbol declaration is in the restriction element, this element can appear zero or once.)

属性 Beskrivning
id Valfritt. Specificera det unika ID:t för elementet.
grund Obligatoriskt. Specificera namnet på de inbyggda datatyperna, simpleType eller complexType-elementen som definieras i detta schema (eller andra schema som indikeras av den specifika namnrymden).
alla attribut Valfritt. Specificera några andra attribut med non-schema-namnrymd.

Exempel

Exempel 1

Följande exempel definierar ett element som kallas "age" med restriktioner. Värdet för age får inte vara mindre än 0 eller större än 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>

Exempel 2

Detta exempel definierar ett element som kallas "initials". Elementet "initials" är av restriktiv typ. Accepterade värden är tre stora eller små bokstäver från a till 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>

Exempel 3

Detta exempel definierar ett element som kallas "password". Elementet "password" är av restriktiv typ. Värdet måste vara minst 5 tecken och högst 8 tecken:

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

Exempel 4

Detta exempel visar en komplex typdefinition som använder restriktioner. Komplex typen "Chinese_customer" är avledad från den vanliga komplexa typen "customer", och dess "country"-elements fast värde är "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>