2009-09-19 5 views
42

दस्तावेज़ीकरण कहता है कि यह स्कीमा में एक और तत्व का संदर्भ देता है, लेकिन इसका उपयोग कैसे किया जा सकता है - मैंने कभी इसे स्कीमा में नहीं देखा है जिसके साथ मैंने काम किया है।एक्सएसडी में किसी तत्व पर रेफरी एट्रिब्यूट क्या करता है?

किसी को भी कोई अच्छा उपयोग केस या कुछ मिला जो इसके उपयोग को और समझा सकता है?

उत्तर

61

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

<xs:element ref="c:item" /><!-- reference here --> 
<xs:complexType name="something"> 
    <xs:sequence> 
     <xs:element ref="c:item" /><!-- and here --> 
    </xs:sequence> 
    <xs:element name="other" type="xs:Name" /> 
</xs:complexType> 

परिभाषा: आप के साथ नाम स्थान अपने आम स्कीमा संदर्भ हैं, तो आप आइटम elemnt का एक उदाहरण अपने आप ही या एक प्रकार के हिस्से के रूप के रूप में इस घोषणा कर सकते हैं स्कीमा इस तरह दिखेगा:

<xs:element name="item" type="itemType" /><!-- referenced element --> 
<xs:complexType name="itemType"> 
    <xs:sequence> 
     <xs:element name="code" type="xs:Name" minOccurs="0" maxOccurs="unbounded" /> 
    </xs:sequence> 
    <xs:attribute name="description" type="xs:normalizedString" use="required" /> 
</xs:complexType> 
+4

मैंने इसे वोट दिया, क्योंकि यह एक अच्छा स्पष्टीकरण है। हालांकि, एक रेफरी विशेषता बाहरी इकाई को "आईडी" द्वारा संदर्भित करती है, न कि "नाम"। काम करने के आपके उदाहरण के लिए, दूसरे कोड-ब्लॉक में "आइटम" की घोषणा होने की आवश्यकता है: rjray

+9

सभी एक्सएसडी दस्तावेज़ों के अनुसार I देखा है, "रेफरी" एक "नाम" पर लागू होता है, जैसा कि यहां देखा गया है: http://www.w3schools.com/schema/el_element.asp (ref - वैकल्पिक। किसी अन्य तत्व के नाम पर संदर्भित करता है ...) – grkvlt

+1

कोई व्यक्ति किस प्रकार से अधिक प्रकार का चयन करेगा? – pikachu0

5

उदाहरण के लिए यदि आप तत्व प्रकारों को घोषित करना चाहते हैं जो गहराई से घोंसला दिखाई दे सकते हैं, लेकिन एक उदाहरण दस्तावेज़ में शीर्ष स्तर तत्व भी हैं।

XML स्कीमा प्राइमर इस के लिए उदाहरण है: http://www.w3.org/TR/xmlschema-0/