عناصر مركبة في 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. يمكن استخدام خاصية type للعنصر "employee"، حيث تُستخدم هذه الخاصية لاستدعاء اسم النوع المركب الذي سيتم استخدامه:
<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 الفارغ