2010-03-02 18 views
10

मैं var1 में चर के बिना क्रम वाली सूची बनाने के लिए कोशिश कर रहा हूँ अंदर असीम है की अनुमति नहीं है और var2 अनंत बार आता है (जैसा भी मामला उपयोग में अपने प्रोजेक्ट अलग है)। तत्व मुझे maxOccurs का उपयोग करने की अनुमति नहीं देता है।XSD दो बार होता है मुझे सभी सूचक

क्या मैं ऐसा करने की कोशिश कर रहा हूं जिसके लिए कोई काम है?

<?xml version="1.0" encoding="ISO-8859-1"?> 
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="testcomment"> 
    <xs:complexType> 
     <xs:all> 
     <xs:element name="var1" type="xs:string" maxOccurs="2" /> 
     <xs:element name="var2" type="xs:integer" maxOccurs="unbounded" /> 
     </xs:all> 
    </xs:complexType> 
    </xs:element> 
</xs:schema> 
+2

http://stackoverflow.com/a/3827606/637142 –

उत्तर

1

आपको क्या करने की कोशिश कर रहे हैं अपनी सूची में एक तत्व के प्रकार के बिना पढ़ने-आगे अस्पष्ट हो सकता है, जो मामले में वहाँ क्योंकि भाषाओं यह वर्णन कर सकते हैं की कक्षाओं के XSD में चारों ओर कोई काम नहीं है की तरह लगता है ।

क्या आप अपने एक्सएसडी का प्रासंगिक हिस्सा पोस्ट कर सकते हैं?


अद्यतन: नहीं, आप एक्सएसडी के साथ ऐसा नहीं कर सकते हैं। <xs:all> तत्व में आप जो डाल सकते हैं उसके बारे में नियम उदाहरण के लिए here सूचीबद्ध हैं। इस बाधा का नाम - यूपीए, या अनोखा कण एट्रिब्यूशन बाधा है। यह अस्पष्टता के साथ सब कुछ करने के लिए है और माइक्रोसॉफ्ट वेबसाइट का एक अच्छा स्पष्टीकरण है कि here क्यों मौजूद है।

आप या तो इस तरह की घोषणा की आवश्यकता को हटाने के लिए अपना दस्तावेज़ लेआउट बदल सकते हैं, या RelaxNG जैसी अधिक अभिव्यक्तिपूर्ण स्कीमा भाषा को देख सकते हैं।

+0

स्टैक ओवरफ्लो में कोड कैसे पोस्ट करें .. मैं इस – Vignesh

+0

पर बहुत नया हूं, आपने कुछ मिनट पहले किया था। इसे वापस पोस्ट करें, इसे हाइलाइट करें और संपादक पर छोटे बटन पर क्लिक करें जो बाइनरी (10101) जैसा दिखता है और यह आपके एक्सएमएल को इंडेंट करेगा, जो इसे ठीक से दिखाएगा। – Brabster

+0

हाँ .. धन्यवाद .. मैंने कोड पोस्ट किया है .. :) – Vignesh

3

आसान, बस <xs:choice maxOccurs="unbounded"> बजाय <xs:all> का उपयोग करें। यह वह प्रभाव देगा जो आप खोज रहे हैं।

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