XML Şeması restriction öğesi

Tanım ve kullanım

restriction öğesi, simpleType, simpleContent veya complexContent tanımları için kısıtlamaları tanımlar.

Öğe bilgisi

Çıkış sıklığı Bir kez
Ana öğe complexContent
İçerik group、all、choice、sequence、attribute、attributeGroup、anyAttribute

Dilbilgisi

<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>

(? sembolü, restriction öğesinde bu öğenin sıfır veya bir kez出现 olabilir.)

Özellik Açıklama
id İsteğe bağlı. Bu öğenin benzersiz ID'sini belirtir.
temel Gerekli. Bu şema (veya belirlenen adlandırma alanı tarafından gösterilen diğer şemalar) içinde tanımlanan yerleşik veri türleri, simpleType veya complexType öğelerinin adlarını belirtir.
herhangi bir özellik İsteğe bağlı. non-schema adlandırma alanı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 edilebilir 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 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ımlamasını göstermektedir. Karmaşık tür "Chinese_customer", "customer" karmaşık türünden türemiş ve "country" bileşeninin sabit değeri "China" olan bir türdür:

<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>