एक और XSD क्षमता को चुनौती,
मैं अपने ग्राहकों, जो 0 होने दिया जाएगा या एक से अधिक अपरिभाषित या [कॉल] अप्रत्याशित टैग द्वारा एक्सएमएल फाइल भेज रही हैं (पदानुक्रम में प्रकट हो सकता)। वैसे वे मेरे लिए अनावश्यक टैग हैं .. इसलिए मुझे उनकी उपस्थिति को अनदेखा करना होगा, लेकिन उनके साथ टैग के कुछ सेट हैं जिन्हें सत्यापित करने की आवश्यकता है।अज्ञात टैग के सत्यापन को अनदेखा कैसे करें?
<root>
<undefined_1>one</undefined_1>
<undefined_2>two</undefined_2>
<node>to_be_validated</node>
<undefined_3>two</undefined_3>
<undefined_4>two</undefined_4>
</root>
और XSD मैं के साथ की कोशिश की:
<xs:element name="root" type="root"></xs:element>
<xs:complexType name="root">
<xs:sequence>
<xs:any maxOccurs="2" minOccurs="0"/>
<xs:element name="node" type="xs:string"/>
<xs:any maxOccurs="2" minOccurs="0"/>
</xs:sequence>
</xs:complexType
XSD कुछ कारणों की वजह से इस की अनुमति नहीं है,
यह एक नमूना एक्सएमएल है।
उपर्युक्त उदाहरण सिर्फ एक नमूना है। व्यावहारिक एक्सएमएल एक्सएमएल टैग की जटिल पदानुक्रम के साथ आता है ..
कृपया मुझे पता है कि तुम इसके बारे में एक हैक प्राप्त कर सकते हैं करते हैं।
वैसे, वैकल्पिक समाधान सत्यापन प्रक्रिया से पहले, XSL-परिवर्तन डालने के लिए है। खैर, मैं इसे टाल रहा हूं क्योंकि मुझे .NET कोड को बदलने की आवश्यकता है जो सत्यापन प्रक्रिया को ट्रिगर करता है, जो कम से कम मेरी कंपनी द्वारा समर्थित है।
क्या समस्या यह है कि यह स्कीमा के खिलाफ मान्य नहीं है? –
yup .. बल्कि मैं यह दिखाना चाहता था कि "मुझे नहीं पता कि यह कैसे करता है .. और मैंने कोशिश की" .. –