عنصر choice در XML Schema

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

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

اطلاعات عنصر

تعداد دفعات ظهور در عناصر group و complexType یک بار است؛ در سایر موارد محدودیت ندارد.
عنصر والد 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>

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

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

مثال

<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" باشد.