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