عنصر 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>