Xsd में क्या अंतर है: शामिल करें और xsd: आयात करें?


201

बीच क्या अंतर है xsd:includeऔर xsd:import? आप एक के बजाय एक का उपयोग कब करेंगे, और कब कोई फर्क नहीं पड़ता?


यह भी देखें पर जवाब देने के stackoverflow.com/questions/4998063/...
Nashev

जवाबों:


206

के बीच मौलिक अंतर includeऔर importहै कि आप का उपयोग करना चाहिए है importघोषणाओं या परिभाषाएँ है कि एक में हैं उल्लेख करने के लिए अलग-अलग लक्ष्य नाम स्थान और आप का उपयोग करना चाहिए includeमें घोषणाओं या परिभाषाएं हैं (या हो जाएगा) का उल्लेख करने के लिए एक ही लक्ष्य नाम स्थान।

स्रोत: https://web.archive.org/web/20070804031046/http://xsd.stylusstudio.com/2002Jun/post08016.htm


मैं सहायक के रूप में अच्छी तरह से इन स्पष्टीकरण पाया: xsd.stylusstudio.com/2005Mar/post05007.htm msdn.microsoft.com/en-us/library/ms256480.aspx
पॉप

@Pops को संदर्भित स्टाइलसस्टडियो पोस्ट यहाँ है: web.archive.org/web/20140831005739/http://xsd.stylusstudio.com/…
tony19

54

Xsd का उपयोग करें : एक XSD से समान या बिना नामस्थान लाने के लिए शामिल करें ।

Xsd का उपयोग करें : एक अलग नामस्थान से XSD में लाने के लिए आयात करें ।


19

एक और अंतर यह है कि <import>किसी अन्य नामस्थान का संदर्भ देकर आयात करने की अनुमति देता है। <include>केवल एक URI का संदर्भ देकर आयात करने की अनुमति देता है जिसमें स्कीमा शामिल है। यह निश्चित रूप से अंतर-अंतर नामस्थान आयात करने की तुलना में एक और अंतर है।

उदाहरण के लिए, xml स्कीमा सत्यापनकर्ता पहले से ही नामस्थान द्वारा सभी स्कीमाओं के स्थानों को पहले से ही जान सकता है । विशेष रूप से यह देखते हुए कि URI द्वारा XML नामस्थानों का जिक्र विभिन्न प्रणालियों पर समस्याग्रस्त हो सकता है, जहां क्लासपैथ: // का मतलब कुछ भी नहीं है, या जहां http: // की अनुमति नहीं है, या जहां कुछ यूआरआई एक ही चीज को इंगित नहीं करते हैं जैसा कि यह करता है एक और प्रणाली।

मान्य और अमान्य आयात का कोड नमूना और इसमें शामिल हैं:

मान्य:

<xsd:import namespace="some/name/space"/>
<xsd:import schemaLocation="classpath://mine.xsd"/>

<xsd:include schemaLocation="classpath://mine.xsd"/>

अमान्य:

<xsd:include namespace="some/name/space"/>

मुझे लगता है कि आपको URI के बजाय स्थान URL द्वारा XML नामस्थान का उल्लेख करना चाहिए । Namespace URI (यानी की विशेषता ) हमेशा ठीक होती है, और एक पहचानकर्ता (सिर्फ पाठ, व्याख्या नहीं) के रूप में माना जाता है , जबकि (एक URL एक URI नहीं) आमतौर पर संसाधित किया जाना चाहिए, हल किया जाना चाहिए। और वास्तव में, जावा-विशिष्ट URL योजना का मतलब कुछ भी नहीं हो सकता है। लेकिन इस नीरस-पिक के बगल में, यह एक मूल्यवान टिप्पणी है, धन्यवाद। namespace<xs:import>schemaLocationclasspath:
ddevienne

7

मुझे इसमें भी दिलचस्पी है। एकमात्र स्पष्टीकरण मैंने पाया है कि xsd:includeइंट्रा-नेमस्पेस समावेश के लिए उपयोग किया जाता है, जबकि xsd:importइंटर-नेमस्पेस समावेश के लिए है।


0

MSDN से प्रत्यक्ष उद्धरण : <xsd: आयात> तत्व, रिमार्क्स अनुभाग

शामिल तत्व और आयात तत्व के बीच का अंतर यह है कि आयात तत्व अलग लक्ष्य नामस्थानों के साथ स्कीमा दस्तावेज़ों से स्कीमा घटकों के संदर्भों की अनुमति देता है और शामिल तत्व अन्य स्कीमा दस्तावेज़ों से स्कीमा घटकों को जोड़ता है जिनमें समान लक्ष्य नाम स्थान (या कोई निर्दिष्ट नाम नाम स्थान) नहीं होते हैं ) युक्त स्कीमा के लिए। संक्षेप में, आयात तत्व आपको किसी भी स्कीमा से स्कीमा घटकों का उपयोग करने की अनुमति देता है; शामिल तत्व आप युक्त स्कीमा के लिए एक शामिल स्कीमा के सभी घटकों को जोड़ने के लिए अनुमति देता है।


-3

Xsd का उपयोग करें: इसमें बाहरी स्कीमा दस्तावेज़ की सभी घोषणाओं और परिभाषाओं को वर्तमान स्कीमा में शामिल किया गया है।

Xsd का उपयोग करें: एक अलग नामस्थान से XSD में लाने के लिए आयात और मौजूदा स्कीमा दस्तावेज़ों का विस्तार करके एक नया स्कीमा बनाने के लिए उपयोग किया जाता है ..

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.