element choice در XML Schema

تعریف و کاربرد

element choice در XML Schema فقط اجازه می‌دهد که یکی از عناصر موجود در element <choice> در element شامل آن ظاهر شود.

اطلاعات element

تعداد ظهور در element group و complexType یک بار است؛ در بقیه موارد محدودیت ندارد.
parent element group،choice،sequence،complexType،restriction (simpleContent)،extension (simpleContent)،restriction (complexContent)،extension (complexContent)
محتوای annotation،any،choice،element،group،sequence

قواعد دستور زبان

<choice
id=ID
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
ویژگی‌های هر
>
(annotation?,(element|group|choice|sequence|any)*)
</choice>

(? نشانه‌ی اعلام در element choice است، element می‌تواند صفر یا یک بار ظاهر شود، * نشانه‌ی اعلام element است که می‌تواند صفر یا چند بار ظاهر شود.)

ویژگی توضیح
id اختیاری است. مشخص می‌کند که ID منحصر به فرد این element چیست.
maxOccurs اختیاری است. مشخص می‌کند که بیشترین تعداد بار ظاهر شدن element در element والد آن چقدر است. این مقدار می‌تواند عدد صحیحی از صفر یا بیشتر باشد. برای مشخص کردن که نمی‌خواهید هیچ محدودیتی برای تعداد بار ظاهر شدن باشد، از رشته "unbounded" استفاده کنید. مقدار پیش‌فرض یک است.
minOccurs اختیاری است. مشخص می‌کند که حداقل تعداد بار ظاهر شدن element در element والد آن چقدر است. این مقدار می‌تواند عدد صحیحی از صفر یا بیشتر باشد. برای مشخص کردن این ویژگی که این مجموعه هر چیزی است، این ویژگی را صفر تنظیم کنید. مقدار پیش‌فرض یک است.
ویژگی‌های هر اختیاری است. هر ویژگی دیگر با نام فضای ناشناخته را مشخص می‌کند.

مثال

<xs:element name="person">
  <xs:complexType>
    <xs:choice>
      <xs:element name="employee" type="employee"/>
      <xs:element name="member" type="member"/>
    </xs:choice>
  </xs:complexType>
</xs:element>

上面的例子定义 "person" 元素必须包含一个 "employee" 元素或一个 "member" 元素。