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" ఎలమెంట్ ఉపయోగించగల టైప్ అట్రిబ్యూట్ ఉంది, ఈ అట్రిబ్యూట్ వాడుకలో ఉన్న కాంపోజిట్ రకం పేరును సూచిస్తుంది:

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