عنصر محدودیت XML Schema

تعریف و استفاده

عنصر محدودیت تعریف محدودیت‌های تعریف شده برای simpleType، simpleContent یا complexContent است.

اطلاعات عنصر

تعداد ظهور یک بار
عنصر والد complexContent
محتوا گروه، همه، انتخاب، ترتیب، ویژگی، گروه ویژگی، ویژگی هرگونه

زبان

<restriction
id=ID
base=QName
ویژگی‌ها
>
محتوای simpleType:
(نکات?,(simpleType?,(minExclusive|minInclusive| 
maxExclusive|maxInclusive|totalDigits|fractionDigits|
length|minLength|maxLength|شماره‌گذاری|whiteSpace|pattern)*))
محتوای simpleContent:
(نکات?,(simpleType?,(minExclusive |minInclusive| 
maxExclusive|maxInclusive|totalDigits|fractionDigits|
(length|minLength|maxLength|شماره‌گذاری|whiteSpace|pattern)*)?, 
((ویژگی|گروه ویژگی)*,ویژگی هرگونه?))
محتوای complexContent:
(نکات?,(گروه|همه|انتخاب|ترتیب)?,
((ویژگی|گروه ویژگی)*,ویژگی هرگونه?))
</restriction>

(؟ نماد در عنصر محدودیت این عنصر می‌تواند صفر یا یک بار ظاهر شود.)

ویژگی‌ها توضیح
id اختیاری. تعریف ID منحصر به فرد این عنصر.
پایه ضروری. تعریف نام نوع داده‌های داخلی، simpleType یا complexType تعریف شده در این اسکیمای (یا اسکیمای دیگری که با نام فضای مشخص شده اشاره دارد).
ویژگی‌ها اختیاری. تعریف هر گونه ویژگی غیر اسکیمای با نام فضای غیر اسکیمایی.

مثال

مثال 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>