XML Schema group 元素
定义和用法
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 توسط model group استفاده میشود که توسط element complexType، choice و sequence استفاده میشود.
ویژگی name و ref نمیتوانند به طور همزمان استفاده شوند.
ref
اختیاری. نام یک group دیگر را ارجاع میدهد. مقدار ref باید QName باشد. ref میتواند شامل پیشوند نام فضای نام باشد.
ویژگی name و ref نمیتوانند به طور همزمان استفاده شوند.
maxOccurs
اختیاری. مشخص میکند بیشترین تعداد ظهور element در پدر آن. این مقدار میتواند عدد صحیحی از صفر یا بیشتر باشد. اگر نمیخواهید محدودیت بیشترین تعداد ظهور را تنظیم کنید، از رشته "unbounded" استفاده کنید. مقدار پیشفرض یک است.
minOccurs
اختیاری. مشخص میکند حداقل تعداد ظهور element در پدر آن. این مقدار میتواند عدد صحیحی از صفر یا بیشتر باشد. مقدار پیشفرض یک است.
ویژگیهای هراتری
اختیاری. مشخص میکند که هرگونه ویژگی غیرشبکهای دارای نام فضای نام دارد.
مثال
مثال 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>