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>