2010-03-01 15 views

उत्तर

161

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

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

+0

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

+0

स्टाइलसस्टूडियो पोस्ट जो @Pops को संदर्भित करता है यहां है: https://web.archive.org/ वेब/20140831005739/http: //xsd.stylusstudio.com/2005Mar/post05007.htm – tony19

8

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

-1
MSDN: <xsd:import> Element, Remarks section

के बीच तत्व शामिल हैं और आयात तत्व यह है कि आयात तत्व के साथ स्कीमा दस्तावेजों से स्कीमा घटकों के लिए संदर्भ की अनुमति देता है अंतर से

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

+2

-1: क्या वह नहीं है [उन्होंने कहा] (http://stackoverflow.com/a/2357988/76337)? –

41

उपयोग xsd:includeही या कोई नाम स्थान से एक XSD में लाने के लिए।

उपयोग xsd:import एक अलग नाम स्थान से एक XSD में लाने के लिए।

15

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

उदाहरण के लिए, एक्सएमएल स्कीमा सत्यापनकर्ता पहले से ही नामस्थान द्वारा सभी स्कीमा के स्थानों को जान सकता है। खासकर यह मानते हुए कि यूआरआई द्वारा एक्सएमएल नेमस्पेस का जिक्र करना अलग-अलग प्रणालियों पर समस्याग्रस्त हो सकता है जहां क्लासपाथ: // का मतलब कुछ भी नहीं है, या जहां 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"/> 
6

"शामिल" घटक - इस घटक सभी घोषणाओं और परिभाषाओं लाता है मौजूदा स्कीमा में बाहरी स्कीमा दस्तावेज़ का। बाहरी स्कीमा दस्तावेज़ में समान लक्ष्य नामस्थान वर्तमान स्कीमा के रूप में होना चाहिए। "शामिल" घटक आमतौर पर मौजूदा स्कीमा दस्तावेज़ों को विस्तारित करके एक नई स्कीमा बनाने के लिए उपयोग किए जाते हैं।

"आयात" घटक - इस घटक ही कार्य "शामिल हैं" घटक के रूप में, सिवाय इसके कि शामिल स्कीमा दस्तावेज़ एक अलग लक्ष्य नाम स्थान है प्रदान करता है। "आयात" घटक आमतौर पर अन्य नामस्थानों से मौजूदा स्कीमा दस्तावेज़ों से तत्व घोषणाओं को उधार ले कर एक नई स्कीमा बनाने के लिए उपयोग किए जाते हैं।

-2

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

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

संबंधित मुद्दे