xsd - XML Schema causing XQuery error: 'text()' is not supported on simple typed element -
BAII ने निम्नलिखित XML स्कीमा (आंशिक) लिखा है:
& lt; xs: schema & gt ; ... & lt; xs: तत्व नाम = "फ़ील्ड" minOccurs = "1" maxOccurs = "1" & gt; & LT; XS: complexType & gt; & LT; XS: अनुक्रम & gt; & Lt; xs: तत्व का नाम = "फ़ील्ड" minOccurs = "3" maxOccurs = "unbounded" & gt; & LT; XS: complexType & gt; & LT; XS: simpleContent & gt; & Lt; x: एक्सटेंशन बेस = "xs: स्ट्रिंग" & gt; & Lt; xs: विशेषता नाम = "शीर्षक" प्रकार = "x: स्ट्रिंग" / & gt; & Lt; xs: विशेषता नाम = "seq" प्रकार = "xs: int" default = "0" / & gt; & Lt; / XS: विस्तार & gt; & Lt; / XS: simpleContent & gt; & Lt; / XS: complexType & gt; & Lt; / XS: तत्व & gt; & Lt; / XS: अनुक्रम & gt; & Lt; / XS: complexType & gt; & Lt; / XS: तत्व & gt; ... & lt; / स्कीमा & gt; मैं एक XML स्कीमा लिखने का प्रयास कर रहा हूं जो मुझे SQL सर्वर 2012 में XML डेटा प्रकार का उपयोग करके फ़ील्ड एलीमेंट की पाठ () संपत्ति को क्वेरी करने की अनुमति देगा।
फ़ील्ड तत्व में केवल पाठ मूल्य और विशेषताओं (कोई अन्य तत्व नहीं) हैं और फ़ील्ड तत्व का एकमात्र वंश है।
मैंने & lt; simpleContent & gt; को और lt; complexcontent & gt; बदलने की कोशिश की, लेकिन फिर मुझे यकीन नहीं है कि कैसे आधार विशेषता को परिभाषित करना चाहिए एक्सटेंशन टैग। XQuery था:
साथ xmlnamespaces ('http://www.xxxx.com' एनएस के रूप में) SELECT [BAI] .query ('/ Ns: XxxFile / ns: रिकॉर्ड / एनएस: फील्ड्स / एनएस: फील्ड / टेक्स्ट () ') से [डीबीओ]। [बीटीआरएस]
मुझे स्टैक ओवरफ़्लो पर जवाब मिला।
मुझे पता लगाना कठिन समय था कि फ़ील्ड तत्व कैसे संभाल सकता है जो कि गुण और तत्व नहीं हैं। मुझे ग़लती से सोचा था कि सामग्री को simpleContent या जटिल कॉन्टेंट के रूप में टैग करने के लिए केवल एक चीज थी केवल एक चीज की आवश्यकता थी मिश्रित टैग को जटिल टाइप टैग में जोड़ने और इसे सही पर सेट करना था। मैंने उपरोक्त स्कीमा भाग को निम्नानुसार बदल दिया है: & lt; xs: schema & gt; ... & lt; xs: तत्व नाम = "फ़ील्ड" minOccurs = "1" maxOccurs = "1" & gt; & LT; XS: complexType & gt; & LT; XS: अनुक्रम & gt; & Lt; xs: तत्व का नाम = "फ़ील्ड" minOccurs = "3" maxOccurs = "unbounded" & gt; & Lt; x: जटिल टाइप करें मिश्रित = "सत्य" & gt; & Lt; xs: विशेषता नाम = "शीर्षक" प्रकार = "xs: स्ट्रिंग" डिफ़ॉल्ट = "अज्ञात" / & gt; & Lt; xs: विशेषता नाम = "seq" प्रकार = "xs: int" default = "0" / & gt; & Lt; / XS: complexType & gt; & Lt; / XS: तत्व & gt; & Lt; / XS: अनुक्रम & gt; & Lt; / XS: complexType & gt; & Lt; / XS: तत्व & gt; ... & lt; / स्कीमा & gt; अब मैं एक्ज़ीक्यू क्वेरी में फ़ील्ड एलीमेंट की टेक्स्ट सामग्री का उपयोग कर सकता हूं।
Comments
Post a Comment