XML Şeması restriction elementi
Tanım ve kullanım
restriction elementi, simpleType、simpleContent veya complexContent tanımlamaları için kısıtlamaları tanımlar.
Element bilgisi
çıkış sıklığı | bir kez |
Ana element | complexContent |
İçerik | group、all、choice、sequence、attribute、attributeGroup、anyAttribute |
Gramer
<restriction id=ID base=QName herhangi bir özellik > simpleType için içerik (annotation?,(simpleType?,(minExclusive|minInclusive| maxExclusive|maxInclusive|totalDigits|fractionDigits| length|minLength|maxLength|enumeration|whiteSpace|pattern)*)) simpleContent için içerik (annotation?,(simpleType?,(minExclusive |minInclusive| maxExclusive|maxInclusive|totalDigits|fractionDigits| (length|minLength|maxLength|enumeration|whiteSpace|pattern)*)?, ((attribute|attributeGroup)*,anyAttribute?)) complexContent için içerik (annotation?,(group|all|choice|sequence)?, ((attribute|attributeGroup)*,anyAttribute?)) </restriction>
(? 符号声明在 restriction 元素中该元素可出现零次或一次。)
Özellik | Açıklama |
---|---|
id | Opsiyonel. Bu elementin benzersiz ID'sini belirtir. |
temel | Gerekli. Bu şema (veya belirlenen alan adı tarafından gösterilen diğer şemalar) içinde tanımlanan yerleşik veri türleri, simpleType veya complexType elementlerinin adlarını belirtir. |
herhangi bir özellik | Opsiyonel. Non-shema adlı alan adına sahip herhangi bir diğer özelliği belirtir. |
Örnek
Örnek 1
Aşağıdaki örnek, adı "age" olan ve kısıtlamalı olan bir element tanımlamaktadır. Age değeri, 0'dan küçük veya 100'den büyük olamaz:
<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>
Örnek 2
Bu örnek, adı "initials" olan bir element tanımlamaktadır. "initials" elementi, kısıtlamalı basit türdür. Kabul edilen değerler, a'dan z'ye büyük veya küçük harflerden oluşan üç harfli olmalıdır:
<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>
Örnek 3
Bu örnek, adı "password" olan bir element tanımlamaktadır. "password" elementi, kısıtlamalı basit türdür. Değer, en az 5 karakter ve en fazla 8 karakter olmalıdır:
<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>
Örnek 4
Bu örnek, bir kısıtlama kullanılarak karmaşık tür tanımı göstermektedir. Karmaşık tür "Chinese_customer", bir sıradan customer karmaşık türünden türemiştir ve country elemanının sabit değeri "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>