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 షేమాలో, మాకు రెండు విధాలు ఉన్నాయి కంప్లెక్స్ మూలకాన్ని నిర్వచించడానికి:

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>