Στοιχείο restriction του XML Schema

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

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

Πληροφορίες στοιχείου

Αριθμός εμφανίσεων Μία φορά
Γονέας στοιχείο complexContent
Περιεχόμενο ομάδα, παντού, επιλογή, σειρά, ιδιότητα, ομάδα ιδιοτήτων, οποιαδήποτε ιδιότητα

Γλώσσα

<restriction
id=ID
base=QName
Οποιαδήποτε ιδιότητα
>
Περιεχόμενο για simpleType:
(σημείωση?,(simpleType?,(minExclusive|minInclusive| 
maxExclusive|maxInclusive|totalDigits|fractionDigits|
length|minLength|maxLength|enumeration|whiteSpace|pattern)*))
Περιεχόμενο για simpleContent:
(σημείωση?,(simpleType?,(minExclusive |minInclusive| 
maxExclusive|maxInclusive|totalDigits|fractionDigits|
(length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?, 
((ιδιότητα|ομάδα ιδιοτήτων)*,οποιαδήποτε ιδιότητα?))
Περιεχόμενο για complexContent:
(σημείωση?,(ομάδα|παντού|επιλογή|σειρά)?,
((ιδιότητα|ομάδα ιδιοτήτων)*,οποιαδήποτε ιδιότητα?))
</restriction>

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

Ιδιότητες Περιγραφή
id Επιλογή. Καθορίζει το μοναδικό ID του στοιχείου.
base Απαιτείται. Καθορίζει το όνομα των στοιχείων του εσωτερικού τύπου, 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" είναι ένα απλό στοιχείο με περιορισμούς. Οι αποδεκτές τιμές είναι τρεις κεφαλαία ή πεζά γράμματα από την a μέχρι την 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>