XML Schema group element
Definition and usage
The group element is used to define a group of elements used in complex type definitions.
element information
occurrence times | unrestricted |
parent element | schema、choice、sequence、complexType、restriction (complexContent)、extension (complexContent) |
content | annotation、all、choice、sequence |
grammar
<group id=ID name=NCName ref=QName maxOccurs=nonNegativeInteger|unbounded minOccurs=nonNegativeInteger ویژگیهای هرز > annotation?,(all|choice|sequence)?) </group>
(? نشانههای تعریف شده در element group میتواند صفر یا یک بار ظاهر شود.)
ویژگیها
id
اختیاری. یک شناسه منحصر به فرد برای این عنصر مشخص میکند.
name
اختیاری. نام گروه را مشخص میکند. این نام باید یک نام بدون冒س (NCName) باشد که در规范 نام فضای XML تعریف شده است.
این ویژگی تنها زمانی استفاده میشود که عنصر schema والد element group باشد. در این حالت، group یک مدل گروه است که توسط عناصر complexType، choice و sequence استفاده میشود.
ویژگیهای name و ref نمیتوانند همزمان استفاده شوند.
ref
اختیاری. نام یک گروه دیگر را به عنوان مرجع مشخص میکند. مقدار ref باید یک QName باشد و میتواند شامل پیشوند نام فضایی باشد.
ویژگیهای name و ref نمیتوانند همزمان استفاده شوند.
maxOccurs
اختیاری. مشخص میکند که بیشترین تعداد مرتبهای که عناصر group میتواند در یک عنصر والد ظاهر شود. این مقدار میتواند یک عدد صحیح بزرگتر از یا برابر با صفر باشد. اگر نمیخواهید هیچ محدودیتی برای تعداد مرتبهها تعیین کنید، از عبارت "unbounded" استفاده کنید. مقدار پیشفرض یک است.
minOccurs
اختیاری. مشخص میکند که حداقل تعداد مرتبهای که عناصر group میتواند در یک عنصر والد ظاهر شود. این مقدار میتواند یک عدد صحیح بزرگتر از یا برابر با صفر باشد. مقدار پیشفرض یک است.
ویژگیهای هرز
اختیاری. مشخص میکند که هرگونه ویژگی غیرشکلی با نام فضای غیرشکلی باید مشخص شود.
مثال
مثال 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>