Elemen restriksi XML Schema

Definisi dan penggunaan

Elemen restriction mendefinisikan batasan untuk simpleType、simpleContent atau complexContent.

Informasi elemen

Kali muncul Kali
Elemen induk complexContent
Konten group、all、pilihan、berurutan、atribut、groupAtribut、atributLainnya

Tata Bahasa

<restriction
id=ID
dasar=QName
setiap atribut
>
Konten untuk simpleType:
(anotasi?,(simpleType?,(minEksklusif|minInklusif| 
maxEksklusif|maxInklusif|totalDigit|digitPecahan|
panjang|minPanjang|maxPanjang|enumerasi|spasiPutih|pola)*))
Konten untuk simpleContent:
(anotasi?,(simpleType?,(minEksklusif|minInklusif| 
maxEksklusif|maxInklusif|totalDigit|digitPecahan|
(panjang|minPanjang|maxPanjang|enumerasi|spasiPutih|pola)*), 
((atribut|groupAtribut)*,atributLainnya?))
Konten untuk complexContent:
(anotasi?,(group|all|pilihan|berurutan)?,
((atribut|groupAtribut)*,atributLainnya?))
</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.
dasar Wajib. Tentukan nama tipe data bawaan, simpleType atau complexType elemen yang didefinisikan dalam schema ini (atau schema lain yang ditunjuk ruang nama yang ditentukan).
setiap atribut Pilihan. Tentukan setiap properti lain yang memiliki ruang nama 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>