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>