XSD कॉम्प्लेक्स एलीमेंट
- पिछला पृष्ठ XSD निर्बंध
- अगला पृष्ठ 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> पर हुआ...</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>
- पिछला पृष्ठ XSD निर्बंध
- अगला पृष्ठ XSD खाली एलीमेंट