عناصر XSD المركبة
- الصفحة السابقة حدود XSD
- الصفحة التالية عناصر XSD الفارغة
يحتوي العنصر المركب على عناصر أخرى وأو خصائص.
ما هو العنصر المركب؟
العنصر المركب هو عنصر XML يحتوي على عناصر أخرى وأو خصائص.
هناك أربعة أنواع من العناصر المركبة:
- عناصر فارغة
- عناصر تحتوي على عناصر أخرى
- عناصر تحتوي فقط على النصوص
- عناصر تحتوي على عناصر والنصوص
العناصر التي يمكن أن تحتوي على الخصائص!التعليق:
أمثلة على العناصر المركبة
العنصر المركب، "product"، هو فارغ:
<product pid="1345"/>
يحتوي العنصر المركب، "employee"، فقط على عناصر أخرى:
<employee> <firstname>John</firstname> <lastname>Smith</lastname> </employee>
يحتوي العنصر المركب، "food"، فقط على النصوص:
<food type="dessert">Ice cream</food>
يحتوي العنصر المركب، "description"، على عناصر والنصوص:
<description> حدث هذا في <date lang="norwegian">03.03.99</date> .... </description>
كيف يمكن تعريف العنصر المركب؟
انظر إلى هذا العنصر المركب الـ XML، "employee"، الذي يحتوي فقط على عناصر أخرى:
<employee> <firstname>John</firstname> <lastname>Smith</lastname> </employee>
في XML Schema، لدينا طريقتين لتحديد العنصر المركب:
1. من خلال تسمية هذا العنصر، يمكنك إعلان عن عنصر "employee" مباشرة، مثل هذا:
<xs:element name="employee"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> </xs:element>
إذا كنت قد استخدمت الطريقة الموصوفة أعلاه، فإن فقط "employee" يمكنه استخدام النوع المركب المحدد. يرجى ملاحظة أن العناصر الفرعية، "firstname" و "lastname"، محاطتان في مؤشر <sequence>. هذا يعني أن يجب أن تظهر العناصر الفرعية في نفس الترتيب الذي تم إعلانه. مؤشرات XSD هذا القسم يتعلم المزيد عن معرفة المؤشرات.
2. يمكن استخدام نوع "employee" للعنصر type، والذي يعمل على استدعاء اسم النوع المركب الذي يتم استخدامه:
<xs:element name="employee" type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType>
إذا كنت قد استخدمت الطريقة الموصوفة أعلاه، فإن العديد من العناصر يمكن استخدام نفس النوع المركب، مثل هذا:
<xs:element name="employee" type="personinfo"/> <xs:element name="student" type="personinfo"/> <xs:element name="member" type="personinfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType>
يمكنك أيضًا إضافة بعض العناصر على أساس عنصر مركب موجود مسبقًا، مثل هذا:
<xs:element name="employee" type="fullpersoninfo"/> <xs:complexType name="personinfo"> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> </xs:complexType> <xs:complexType name="fullpersoninfo"> <xs:complexContent> <xs:extension base="personinfo"> <xs:sequence> <xs:element name="address" type="xs:string"/> <xs:element name="city" type="xs:string"/> <xs:element name="country" type="xs:string"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType>
- الصفحة السابقة حدود XSD
- الصفحة التالية عناصر XSD الفارغة