عنصر group في XML Schema

التعريف والاستخدام

يستخدم عنصر group لتحديد مجموعة العناصر المستخدمة في تعريف نوع معقد.

معلومات العنصر

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

النحو

<group
id=ID
name=NCName
ref=QName
maxOccurs=عدد صحيح غير سالب|غير محدودة
minOccurs=عدد صحيح غير سالب
خصائص أي
>
annotation?,(all|choice|sequence)?)
</group>

الشكل (?) مكتوب في عناصر المجموعة، يمكن أن يظهر هذه العناصر صفر مرة أو مرة واحدة.

خصائص

id

اختياري. يحدد ID الفريد للعنصر هذا.

name

اختياري. يحدد اسم المجموعة. يجب أن يكون هذا الاسم هو اسم غير المسمى (NCName) المحدد في معيار مساحة الاسم XML.

استخدم هذه الخاصية فقط عندما يكون عنصر "schema" هو العنصر الأب للمجموعة. في هذه الحالة، تكون المجموعة هي نموذج يستخدمه عناصر "complexType" و "choice" و "sequence".

لا يمكن أن يظهر كلا属性 "name" و "ref" في نفس الوقت.

ref

اختياري. يشير إلى اسم مجموعة أخرى. يجب أن يكون قيمة "ref" QName. يمكن أن تحتوي "ref" على بدلاً من مساحة الاسم.

لا يمكن أن يظهر كلا属性 "name" و "ref" في نفس الوقت.

maxOccurs

اختياري. يحدد عدد أكبر المرات التي يمكن أن تظهر فيها عناصر المجموعة في العنصر الأب. يمكن أن يكون هذا القيمة عدد صحيح أكبر أو مساوي لصفر. إذا لم تكن تريد تحديد أي قيود على عدد المرات، استخدم الكلمة "غير محدودة". القيمة الافتراضية هي 1.

minOccurs

اختياري. يحدد عدد أقل المرات التي يمكن أن تظهر فيها عناصر المجموعة في العنصر الأب. يمكن أن يكون هذا القيمة عدد صحيح أكبر أو مساوي لصفر. القيمة الافتراضية هي 1.

خصائص أي

اختياري. يحدد أي خصائص أخرى تحتوي على مساحة اسم غير النموذج.

مثال

مثال 1

الآتي مثال يحدد مجموعة تحتوي على أربعة عناصر مرتبة بشكل متسلسل ويستخدم هذه العنصر مجموعة معقدة في تعريف نوع معقد:

<?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>