XML Schema restriction 元素 -> Elemen restriction XML Schema
定义和用法 -> Pengertian dan Penggunaan
restriction 元素定义对 simpleType、simpleContent 或 complexContent 定义的约束。 -> Elemen restriction menyifatkan kawalan bagi simpleType、simpleContent atau complexContent yang ditakrifkan.
元素信息 -> Maklumat elemen
出现次数 -> kali muncul | 一次 -> Sekali |
父元素 -> Boleh muncul sekali -> Boleh muncul sekali | complexContent -> kompleksContent |
内容 -> Kandungan | group、all、choice、sequence、attribute、attributeGroup、anyAttribute -> group、all、choice、sequence、attribute、attributeGroup、anyAttribute |
语法 -> Tatabahasa
<restriction -> <restriction id=ID -> id=ID base=QName -> asas=QName any attributes > Content for simpleType: -> Kandungan untuk simpleType: (annotation?,(simpleType?,(minExclusive|minInclusive| -> (annotation?,(simpleType?,(minExclusive|minInclusive| maxExclusive|maxInclusive|totalDigits|fractionDigits| -> maxExclusive|maxInclusive|totalDigits|fractionDigits| length|minLength|maxLength|enumeration|whiteSpace|pattern)*)) -> panjang|minPanjang|maxPanjang|daftar|kosong|pola)*)) Content for simpleContent: -> Kandungan untuk simpleContent: (annotation?,(simpleType?,(minExclusive |minInclusive| -> (annotation?,(simpleType?,(minExclusive|minInclusive| maxExclusive|maxInclusive|totalDigits|fractionDigits| -> maxExclusive|maxInclusive|totalDigits|fractionDigits| (length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?, -> ((panjang|minPanjang|maxPanjang|daftar|kosong|pola)*))?, ((attribute|attributeGroup)*,anyAttribute?)) -> ((attribute|attributeGroup)*,anyAttribute?)) Content for complexContent: -> Kandungan untuk complexContent: (annotation?,(group|all|choice|sequence)?,) -> (annotation?,(group|all|choice|sequence)?,) ((attribute|attributeGroup)*,anyAttribute?)) -> ((attribute|attributeGroup)*,anyAttribute?)) </restriction>
(? 符号声明在 restriction 元素中该元素可出现零次或一次。) -> (?Simbol pengumuman di elemen restriction. Elemen ini boleh muncul nol kali atau sekali.)
属性 | 描述 |
---|---|
id | 可选。规定该元素的唯一的 ID。 |
base | 必需。规定在该 schema(或由指定的命名空间指示的其他 schema)中定义的内建数据类型、simpleType 或 complexType 元素的名称。 |
any attributes | 可选。规定带有 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>