XML Schema complexType మూలకం

నిర్వచనం మరియు వినియోగం

complexType మూలకం సంకీర్ణ రకం నిర్వచిస్తుంది. సంకీర్ణ రకం మూలకం ఇతర మూలకాలు మరియు/లేదా అంశాలను కలిగివుంటుంది.

కాంపోనెంట్ సమాచారం

ప్రకటన సంఖ్య స్కెయిలా లో పరిమితిలేదు; కాంపోనెంట్ లో ఒకసారి ఉంటుంది.
పైరుతులు element, redefine, schema
సమాచారం పరిశీలన, simpleContent, complexContent, group, all, choice, sequence, attribute, attributeGroup, anyAttribute

పద్యం

సంఘటన
<complexType 
id=ID 
name=NCName 
abstract=true|false
mixed=true|false
block=(#all|list of (extension|restriction))
ఏదైనా అంశాలు
final=(#all|list of (extension|restriction))
> 
(పరిశీలన, (simpleContent|complexContent|((group|all|
</complexType>

ప్రక్రియా పద్ధతి పేరు అన్నింటినీ చేర్చుకోవచ్చు లేదా పట్టికను చేర్చుకోవచ్చు, ఈ పట్టిక అన్నింటినీ చేర్చుకోవచ్చు లేదా ఒకటి మాత్రమే చేర్చుకోవచ్చు:

అంశం

id

ఎంపికాని. ఈ కాంపోనెంట్ యొక్క ఏకైకమైన ID నిర్ణయించండి.

పేరు

ఎంపికాని. కాంపోనెంట్ యొక్క పేరును నిర్ణయించండి.

అబ్స్ట్రాక్ట్

ఎంపికాని. ఈ క్లిష్టమైన రకంను ఉపయోగించడానికి అనుమతించాలా లేదా లేదు నిర్ణయించండి. ఈ విలువ నిజం అయితే, కాంపోనెంట్ ను ఈ క్లిష్టమైన రకంను ప్రత్యామ్నాయంగా వాడకుండా ఉపయోగించాలి, అయితే ఈ క్లిష్టమైన రకం నుండి పరివర్తన చేసిన క్లిష్టమైన రకాన్ని ఉపయోగించాలి. అప్రమేయ విలువ కాలుగా ఉంటుంది.

మిక్సెడ్

ఎంపికాని. ఈ క్లిష్టమైన రకం ఉపకాంపోనెంట్ మధ్యన అక్షర డేటా ఉండగలదా అని నిర్ణయించండి. అప్రమేయ విలువ కాలుగా ఉంటుంది.

  • ఈ simpleContent కాంపోనెంట్ ఉపకాంపోనెంట్ అయితే, mixed అనునది అనుమతించబడదు.
  • ఈ complexContent కాంపోనెంట్ ఉపకాంపోనెంట్ అయితే, ఈ mixed అనునది complexContent కాంపోనెంట్ యొక్క mixed అనునది అన్నింటినీ అనుకూలించవచ్చు.

బ్లాక్

ఎంపికాని. ఈ నిర్దేశించిన పరివర్తన రకం క్లిష్టమైన రకాన్ని ప్రత్యామ్నాయంగా వాడకుండా పరిమితి పెట్టండి. ఈ విలువ అన్నింటినీ చేర్చుకోవచ్చు లేదా పట్టికను చేర్చుకోవచ్చు, ఈ పట్టిక విస్తరణ లేదా పరిమితి యొక్క ఉపవిభాగం:

  • విస్తరణ - ఈ క్లిష్టమైన రకంను ప్రత్యామ్నాయంగా వాడకుండా విస్తరణ పెట్టండి.
  • పరిమితి - ఈ క్లిష్టమైన రకంను ప్రత్యామ్నాయంగా వాడకుండా పరిమితి పెట్టండి.
  • #all - ఈ complexType రకం నుండి పరివర్తనను ఉపయోగించడాన్ని నిరోధిస్తుంది.

final

ఎంపికాత్మకం. ఈ complexType రకం నుండి పరివర్తనను నిరోధించడానికి నిర్ణయించండి. ఈ విలువ అన్ని పరివర్తనలను కలిగి ఉండవచ్చు లేదా extension లేదా restriction యొక్క ఉపవిభాగాల జాబితాను కలిగి ఉండవచ్చు.

  • extension - విస్తరణ ద్వారా పరివర్తనను నిరోధిస్తుంది.
  • restriction - పరిమితి ద్వారా పరివర్తనను నిరోధిస్తుంది.
  • #all - అన్ని పరివర్తనలను నిరోధిస్తుంది (విస్తరణ మరియు పరిమితి).

ఏదైనా అంశాలు

ఎంపికాత్మకం. నామకరణాల్లో మరొక నామకరణం సహజంగా కలిగిన విభిన్న అంశాలను నిర్ణయించండి.

ప్రకటన

ఉదాహరణ 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:element>

ఉదాహరణ 2

ఈ ఉదాహరణలో ఒక క్లిష్టమైన రకం "fullpersoninfo" ఉంది, ఇది మూడు అనుబంధ తెలుగుబాట్లు (address, city మరియు country) ద్వారా పరివర్తనం చేసిన రకాన్ని విస్తరించింది, ఇది మరొక క్లిష్టమైన రకం "personinfo" నుండి ఉద్భవించింది:

<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:complexType name="fullpersoninfo">
  <xs:complexContent>
    <xs:extension base="personinfo">
      <xs:sequence>
        <xs:element name="address" type="xs:string"/>
        
        
      
    
  

在上面的例子中,上面的 "employee" 元素必须按顺序包含下列元素:"firstname", "lastname", "address", "city" 以及 "country"。