Σχήμα XML restriction στοιχείο

Ορισμός και χρήση

Το στοιχείο restriction ορίζει τις περιορισμοί για simpleType, simpleContent ή complexContent.

Στοιχεία στοιχείων

Εμφάνιση φορές Μια φορά
Γονέας στοιχείο complexContent
Περιεχόμενο group,all,choice,sequence,attribute,attributeGroup,anyAttribute

Γλώσσα

<restriction
id=ID
base=QName
τιμές
>
Περιεχόμενο για simpleType:
(annotation?,(simpleType?,(minExclusive|minInclusive| 
maxExclusive|maxInclusive|totalDigits|fractionDigits|
length|minLength|maxLength|enumeration|whiteSpace|pattern)*))
Περιεχόμενο για simpleContent:
(annotation?,(simpleType?,(minExclusive |minInclusive| 
maxExclusive|maxInclusive|totalDigits|fractionDigits|
(length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?, 
((attribute|attributeGroup)*,anyAttribute?)
Περιεχόμενο για complexContent:
(annotation?,(group|all|choice|sequence)?,
((attribute|attributeGroup)*,anyAttribute?)
</restriction>

(? ο σύνδεσμος δηλώνεται στο στοιχείο restriction και μπορεί να εμφανιστεί μηδέν ή μια φορά.)

κατάσταση Περιγραφή
id Οπциона. Προσδιορίζει το μοναδικό ID του στοιχείου.
βάση Απαιτείται. Προσδιορίζει το όνομα του εσωτερικού τύπου δεδομένων, simpleType ή complexType στοιχείου που ορίζεται στο schema (ή άλλο schema που καθορίζεται από το όνομα χώρο).
τιμές Οπциона. Προσδιορίζει οποιεσδήποτε άλλες ιδιότητες με non-schema ονομαστικό χώρο.

Παράδειγμα

Παράδειγμα 1

Το παρακάτω παράδειγμα ορίζει ένα στοιχείο με το όνομα "age" που έχει περιορισμούς. Η τιμή του "age" δεν μπορεί να είναι μικρότερη από 0 ή μεγαλύτερη από 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>

Παράδειγμα 2

Η παρούσα παράδειγμα ορίζει ένα στοιχείο με το όνομα "initials". Το στοιχείο "initials" είναι απλός τύπος με περιορισμούς. Αποδεκτές τιμές είναι τρεις κεφαλαία ή πεζά γράμματα από την α έως την 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>

Παράδειγμα 3

Η παρούσα παράδειγμα ορίζει ένα στοιχείο με το όνομα "password". Το στοιχείο "password" είναι απλός τύπος με περιορισμούς. Η τιμή πρέπει να είναι τουλάχιστον 5 χαρακτήρες και το μέγιστο 8 χαρακτήρες:

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

Παράδειγμα 4

Η παρούσα παράδειγμα παρουσιάζει μια περίπτωση περίπλοκης τύπου ορισμού που χρησιμοποιεί περιορισμούς. Ο περίπλοκος τύπος "Chinese_customer" εξαπομπάζεται από τον συνηθισμένο τύπο "customer" και ο στατικός τιμή του στοιχείου "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>