ایکس ایس ڈی کامپلکس عنصر

کمپوزیٹ آئینما دیگر عناصر اور/یا خصوصیات شامل کراتی ہیں.

کمپوزیٹ آئینما کیا ہے؟

کمپوزیٹ آئینما کا معنا یہ ہے کہ 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، ما دو روش برای تعریف عنصر ترکیبی داریم:

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 این بخش برای یادگیری بیشتر در مورد معیارها (indicator) است.

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>