عنصر group XML Schema

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

عنصر group برای تعریف مجموعه‌ای از عناصر مورد استفاده در تعریف نوع پیچیده استفاده می‌شود.

اطلاعات عنصر

تعداد ظهور بدون محدودیت
عنصر والد schema،choice،sequence،complexType،restriction (complexContent)،extension (complexContent)
محتوای annotation،all،choice،sequence

زبان نوشتاری

<group
id=ID
name=NCName
ref=QName
maxOccurs=nonNegativeInteger|unbounded
minOccurs=nonNegativeInteger
ویژگی‌های هرچه که بخواهید
>
annotation?,(all|choice|sequence)?)
</group>

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

ویژگی‌ها

id

اختیاری. یک شناسه یکتا برای این element مشخص می‌کند.

name

اختیاری. نام گروه را مشخص می‌کند. این نام باید نامی غیر دارای نشانه (NCName) باشد که در مقررات نام‌فضای XML تعریف شده است.

این ویژگی فقط زمانی استفاده می‌شود که element schema والد element group باشد. در این حالت، group توسط مدل‌های element complexType، choice و sequence استفاده می‌شود.

ویژگی‌های name و ref نمی‌توانند همزمان استفاده شوند.

ref

اختیاری. نام یک group دیگر را به عنوان مرجع می‌گیرد. مقدار ref باید QName باشد. ref می‌تواند شامل پیشوند نام‌فضا باشد.

ویژگی‌های name و ref نمی‌توانند همزمان استفاده شوند.

maxOccurs

اختیاری. مشخص می‌کند حداکثر تعداد دفعات ظاهر شدن element group در یک element والد. این مقدار باید عدد صحیحی از صفر یا بیشتر باشد. برای قرار دادن هیچ محدودیتی بر تعداد دفعات، از عبارت "unbounded" استفاده کنید. مقدار پیش‌فرض یک است.

minOccurs

اختیاری. مشخص می‌کند حداقل تعداد دفعات ظاهر شدن element group در یک element والد. این مقدار باید عدد صحیحی از صفر یا بیشتر باشد. مقدار پیش‌فرض یک است.

ویژگی‌های هرچه که بخواهید

اختیاری. مشخص می‌کند که هرگونه ویژگی غیر نمونه‌ای با نام‌فضای non-schema باید مشخص شود.

مثال

مثال 1

مثال زیر یک مجموعه از چهار عنصر را تعریف می‌کند و از عناصر group در یک تعریف نوع پیچیده استفاده می‌کند:

<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:group name="custGroup">
 <xs:sequence>
  <xs:element name="customer" type="xs:string"/>
  <xs:element name="orderdetails" type="xs:string"/>
  <xs:element name="billto" type="xs:string"/>
  <xs:element name="shipto" type="xs:string"/>
 </xs:sequence>
</xs:group>
<xs:element name="order" type="ordertype"/>
<xs:complexType name="ordertype">
  <xs:group ref="custGroup"/>
  <xs:attribute name="status" type="xs:string"/>
</xs:complexType>
</xs:schema>