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>