أحدث البرامج التعليمية وتطوير الشبكة
 

XML مخطط complexType العنصر


<XML استكمال مخطط المرجعي

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

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

معلومات عنصر

  • Parent elements: العنصر، إعادة تعريف، مخطط

بناء الجملة

<complexType
id=ID
name=NCName
abstract=true|false
mixed=true|false
block=(#all|list of (extension|restriction))
final=(#all|list of (extension|restriction))
any attributes
>

(annotation?,(simpleContent|complexContent|((group|all|
choice|sequence)?,((attribute|attributeGroup)*,anyAttribute?))))

</complexType>

(و؟ علامة يعلن أن العنصر يمكن أن يحدث الصفر أو مرة واحدة، وعلامة * يعلن أن العنصر يمكن أن يحدث الصفر أو أكثر من مرة داخل عنصر complexType)

السمة وصف
id اختياري. يحدد هوية فريدة من نوعها للعنصر
name اختياري. يحدد اسم للعنصر
abstract اختياري. تحديد ما إذا كان نوع معقد يمكن أن تستخدم في وثيقة المثال. يشير صحيح أن عنصر لا يمكن استخدام هذا النوع المعقد مباشرة ولكن يجب استخدام نوع معقد المستمدة من هذا النوع المعقد. الافتراضي هو كاذب
mixed اختياري. يحدد ما إذا كان يسمح للبيانات الشخصية لتظهر بين عناصر تابعة لهذا العنصر complexType. الافتراضي هو زائف. إذا كان العنصر simpleContent هو عنصر الطفل، و mixed لا يسمح السمة!
block اختياري. يمنع نوع معقد يحتوي على نوع معين من الاشتقاق من أن تستخدم بدلا من هذا النوع المعقد. يمكن أن تحتوي هذه القيمة #all أو القائمة التي هي مجموعة فرعية من تمديد أو تقييد:
  • تمديد - يمنع الأنواع المعقدة التي يجنيها تمديد
  • تقييد - يمنع الأنواع المعقدة التي يجنيها تقييد
  • #all - يمنع جميع أنواع المعقدة المستمدة
final اختياري. يمنع نوع محدد من الاشتقاق من هذا العنصر نوع معقد. يمكن أن تحتوي على #all أو القائمة التي هي مجموعة فرعية من تمديد أو قيود.
  • تمديد - يمنع اشتقاق استطرادا
  • تقييد - يمنع الاشتقاق من قيود
  • #all - يمنع كل الاشتقاق
any attributes اختياري. تحدد أي سمات أخرى مع مساحة غير مخطط

مثال 1

في المثال التالي على عنصر اسمه "note" التي هي من نوع معقد:

<xs:element name="note">
  <xs:complexType>
    <xs:sequence>
  <xs:element name="to" type="xs:string"/>
  <xs:element name="from" type="xs:string"/>
  <xs:element name="heading" type="xs:string"/>
  <xs:element name="body" type="xs:string"/>
    </xs:sequence>
  </xs:complexType>
</xs:element>

مثال 2

المثال التالي لديه نوع معقد، "fullpersoninfo" ، مشتقة من نوع معقد آخر، "personinfo" ، من خلال توسيع نوع الموروثة مع ثلاثة عناصر إضافية (address, city and country) :

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

في المثال أعلاه "employee" عنصر يجب أن يحتوي على، في تسلسل العناصر التالية: "firstname" ، "lastname" ، "address" ، "city" ، و "country" .


<XML استكمال مخطط المرجعي