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>