Latest web development tutorials

مخطط XML العناصر المعقدة

عنصر معقد يحتوي على عناصر و / أو غيرها من الصفات.


H2> ما هو عنصر مركب؟

يشير عنصر مركب إلى عنصر XML التي تحتوي على عناصر و / أو غيرها من الصفات.

هناك أربعة أنواع من العناصر الجاهزة:

  • العناصر الفارغة
  • أنه يحتوي على عناصر أخرى من
  • يحتوي على عنصر النص فقط
  • عنصر يحتوي على عناصر والنص

ملاحظة: العناصر المذكورة أعلاه يمكن أن تحتوي على سمات!


أمثلة على العناصر الجاهزة

عنصر مركب، "المنتج"، فارغ:

<product pid="1345"/>

عنصر مركب، "موظف"، ويحتوي على عناصر أخرى فقط:

<employee>
<firstname>John</firstname>
<lastname>Smith</lastname>
</employee>

مجمع عنصر XML، "الغذاء"، التي تحتوي على النص فقط:

<food type="dessert">Ice cream</food>

مجمع عنصر XML "صفا" يحتوي على عناصر والنص:

<description>
It happened on <date lang="norwegian">03.03.99</date> ....
</description>


كيفية تحديد عنصر معقد؟

انظروا إلى هذا العنصر XML معقدة، "موظف"، ويحتوي على عناصر أخرى فقط:

<employee>
<firstname>John</firstname>
<lastname>Smith</lastname>
</employee>

في مخطط XML، لدينا طريقتان لتحديد العناصر المعقدة:

1. اسم العنصر مباشرة إلى "موظف" إعلان العنصر، مثل هذه:

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

إذا كنت تستخدم الطريقة الموصوفة أعلاه، فإن "موظف" الوحيد يمكن استخدام نوع معقد محدد. يرجى ملاحظة أن عناصر تابعة لها، "الاسم الأول" و "اسم العائلة"، وتحيط بها مؤشر <تسلسل> في. وهذا يعني أن يجب أن تظهر العناصر التابعة بالترتيب يتم الإعلان عنها. عليك مؤشرات XSD معرفة المزيد عن مؤشرات في هذا القسم.

2. "موظف" عنصر يمكن استخدام السمة نوع، ودور هذه السمة هو إشارة إلى اسم نوع معقد لاستخدامها:

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