मैं निम्न के समान एक एक्सएमएल के लिए एक बहुत सरल XML स्कीमा निर्माण करने के लिए कोशिश कर रहा हूँ:अस्पष्ट XML स्कीमा
<messages>
<item>
<important_tag></important_tag>
</item>
<item>
<important_tag></important_tag>
<tag2></tag2>
</item>
<item>
<tag2></tag2>
<tag3></tag3>
</item>
</messages>
विचार यह है कि <important_tag>
एक विशिष्ट परिभाषा है और यह कर सकते हैं या के तहत प्रकट नहीं हो सकता होगा <item>
। यह एक से अधिक बार भी प्रकट हो सकता है। इसके अतिरिक्त, <important_tag>
से पहले या उसके बाद अन्य टैग भी हो सकते हैं जिन्हें मैं पहले से नाम नहीं दे सकता।
मैं <important_tag>
के लिए एक विशिष्ट परिभाषा देना चाहता हूं। उदाहरण के लिए, उन गुणों को परिभाषित करें जिनमें यह होना चाहिए। मेरा मतलब है कि यदि महत्वपूर्ण_टैग मौजूद है तो यह मेरी परिभाषा के अनुरूप होना चाहिए। किसी भी अन्य टैग को किसी भी परिभाषा के अनुरूप नहीं है।
मैं निम्नलिखित योजना उपयोग करने की कोशिश:
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="messages">
<xs:complexType>
<xs:sequence>
<xs:element ref="item" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="item">
<xs:complexType>
<xs:sequence>
<xs:element ref="important_tag" minOccurs="0"/>
<xs:any minOccurs="0"/>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="important_tag">
<xs:complexType>
<xs:simpleContent>
... specific definitions for important_tag ...
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:schema>
यह कह रही है कि स्कीमा अस्पष्ट है एक त्रुटि का परिणाम है।
सटीक त्रुटि संदेश है:
cos-nonambig: '<xs:element ref="important_tag">' makes the content model non-deterministic against '<xs:any>'. Possible causes: name equality, overlapping occurrence or substitution groups.
मैं Altova के XML जासूस उपयोग कर रहा हूँ।
मैं इसे कैसे हल करूं?
धन्यवाद, दाना
क्या आप कृपया प्राप्त होने वाले सटीक त्रुटि संदेश और आपके द्वारा उपयोग किए जाने वाले टूल पोस्ट कर सकते हैं? – Tomalak