Elemen restriksi XML Schema

Definisi dan penggunaan

Elemen restriction mendefinisikan batasan untuk simpleType, simpleContent, atau complexContent.

Informasi elemen

Kali muncul 1 kali
Elemen induk complexContent
Konten group, all, pilihan, berurutan, atribut, group atribut, atribut apapun

Gramatika

<restriction
id=ID
bawaan=QName
atribut apapun
>
Konten untuk simpleType:
(anotasi?,(simpleType?,(min eksklusif|min inklusif| 
max eksklusif|max inklusif|total digit|digit desimal|
panjang|min panjang|max panjang|daftar|spasi putih|pola)*))
Konten untuk simpleContent:
(anotasi?,(simpleType?,(min eksklusif|min inklusif| 
max eksklusif|max inklusif|total digit|digit desimal|
(panjang|min panjang|max panjang|daftar|spasi putih|pola)*?, 
((atribut|group atribut)*,atribut apapun?)
Konten untuk complexContent:
(anotasi?,(group|all|pilihan|berurutan)?,
((atribut|group atribut)*,atribut apapun?)
</restriction>

(Simbol ? menyatakan bahwa elemen ini dapat muncul 0 atau 1 kali di dalam elemen restriction).

Atribut Deskripsi
id Pilihan. Tentukan ID unik elemen ini.
bawaan Wajib. Tentukan nama elemen bawaan tipe data, simpleType, atau complexType yang didefinisikan dalam schema ini (atau schema lain yang ditunjuk ruang nama yang disediakan).
atribut apapun Pilihan. Tentukan setiap atribut lain yang memiliki ruang nama non-schema.

Contoh

Contoh 1

Contoh di bawah mendefinisikan elemen yang memiliki batasan dan bernama "age". Nilai age tidak boleh kurang dari 0 atau lebih besar dari 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>

Contoh 2

Pemampatan ini mendefinisikan elemen bernama "initials". Elemen "initials" adalah tipe sederhana dengan batasan. Nilai yang diterima adalah tiga huruf besar atau kecil dari a sampai 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>

Contoh 3

Pemampatan ini mendefinisikan elemen bernama "password". Elemen "password" adalah tipe sederhana dengan batasan. Nilai harus terdiri dari minimal 5 karakter dan maksimal 8 karakter:

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

Contoh 4

Pemampatan ini menunjukkan definisi tipe kompleks yang kompleks menggunakan batasan. Tipe kompleks "Chinese_customer" diambil dari tipe kompleks biasa "customer", nilai elemen country adalah "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>