मैं अपनी कंपनी में एक नई डेटा एक्सचेंज सेवा बना रहा हूं। हम एक मौजूदा ऑब्जेक्ट को विस्तारित करना चाहते हैं जो हमारी core.xsd परिभाषा फ़ाइल में परिभाषित है। यहां मुझे एक उदाहरण है कि मुझे क्या करना है:अभिभावक/विस्तारित तत्व के अंदर Xsd तत्व को ओवरराइड करने के लिए
<xs:complexType name="parentType">
<xs:sequence>
<xs:element name="departmentName" type="core:DEPARTMENT_NAME"
minOccurs="0" maxOccurs="1" />
</xs:sequence>
</xs:complexType>
<xs:complexType name="childType">
<xs:complexContent>
<xs:extension base="parentType">
<xs:sequence>
<xs:element name="departmentName"
type="core:DEPARTMENT_NAME"
minOccurs="1" maxOccurs="1"/>
</xs:sequence>
</xs:extension>
</xs:complexContent>
</xs:complexType>
मुझे लगता है कि यह सही समझ में आता है। मैं मूल तत्व को ओवरराइड करना चाहता हूं और इसे आवश्यक बनाना चाहता हूं। हालांकि, यह एक वैध एक्सएमएल फ़ाइल होगी। अब एक अतिरिक्त विभाग का नाम कहाँ है !?
<childType>
<departmentName>HR</departmentName>
<departmentName>IT</departmentName>
</childType>
मैं यह कैसे कर सकते हैं ताकि एक्सएमएल फ़ाइल बन जाएगा:
<childType>
<departmentName>IT</departmentName>
</childType>
धन्यवाद, क्रेग
धन्यवाद पेट्रू, यही वह है जिसे मैं ढूंढ रहा था। प्रश्न हालांकि: अगर मैं अभी भी पेरेंट टाइप का विस्तार करना चाहता हूं तो क्या होगा? मान लें कि मैं कुछ लापता फ़ील्ड को उस प्रकार तक जोड़ना चाहता हूं जो इसे विस्तारित करता है। मैंने देखा है कि आप केवल प्रतिबंधित या विस्तार कर सकते हैं, लेकिन दोनों माता-पिता के लिए नहीं। मैं प्रयोग करूँगा, लेकिन क्या मुझे एक ग्रैंड चाइल्ड प्रकार बनाने की ज़रूरत है जो कि बच्चे टाइप टाइप करता है, जिसके माता-पिता पर प्रतिबंध हैं? ऐसा लगता है कि अत्यधिक वर्बोज़ और बोझिल एक क्लीनर समाधान नहीं है? – Craig
बच्चे के शीर्ष पर निर्माण करने के लिए आपको दादाजी टाइप बनाना होगा। मैं मानता हूं कि यह बोझिल लगता है - xsd का रखरखाव: विशेष रूप से प्रतिबंध .. लेकिन यह एक्सएसडी 1.0 है। "क्लीनर" क्वालीफायर के लिए ... यह वास्तव में विवरण में है, और दर्शक की आंख। यदि यह एक नया डिज़ाइन है, तो मुझे यकीन है कि आपके पदानुक्रम को लेआउट करने के विभिन्न तरीके हैं जैसे कि यह आपको कुछ उचित देता है ... आपको कोडिंग बाइंडिंग के लिए एक्सएसडी के संदर्भ में भी सोचना होगा ... –