पूरी तरह से एक एक्सएमएल वैधता बिंदु से, यह स्कीमा पर निर्भर करता है, यदि कोई है, तो यह बताता है कि नियम XML को स्वरूपित करने के लिए क्या हैं।
यह कहा गया है कि आदेश संरक्षित किया जाना चाहिए (http://www.w3.org/TR/xml-infoset/ में 2.1.1 देखें) लेकिन क्या यह एप्लिकेशन के लिए "महत्वपूर्ण" है, इसके लेखक पर निर्भर है।
एक स्कीमा के भीतर, xs:all
कंपोजिटर के उपयोग के साथ आदेश को महत्वहीन बनाया जा सकता है, हालांकि मुझे यकीन नहीं है कि यह कैप्चर किए गए आदेश के संरक्षण को प्रभावित करता है, यानी मैं अभी भी उत्पत्ति/क्रमिकरण के क्रम की अपेक्षा करता हूं एक्सएमएल प्रोसेसर द्वारा बनाए रखा।
हालांकि, 1.0 में यह कंपोजिटर बच्चे तत्वों पर प्रतिबंध जोड़ता है ताकि वे 0 या 1 बार हो जाएं। एक्सएसडी 1 में।1, यह प्रतिबंध हटा दिया गया है, जिससे यह अनुबंध करना आसान हो जाता है कि आदेश महत्वपूर्ण नहीं है, प्रभावी ढंग से xs:all
xs:sequence
का असाधारण संस्करण बन गया है।
ओवरली-प्रतिबंधित 1.0 xs:all
कंपोजिटर के कारण, आदेश दिया गया xs:sequence
कंपोजिटर का उपयोग किया जाना था। इस प्रकार, आदेश कृत्रिम रूप से लगाया गया था। सत्यापनकर्ता पुस्तकालयों के विक्रेताओं द्वारा 1.1 की
दत्तक ग्रहण धीमी है।
जैसे, एपीआई आदेश पर विचार करने के लिए जब नए तत्व के साथ विकसित किया जा रहा जरूरत है। मुझे किसी एक्सएमएल सीरियलाइजेशन फ्रेमवर्क से अवगत नहीं है जो 1.1 के साथ काम कर सकता है और आपको लगता है कि आपके क्लाइंट 1.0 का उपयोग करेंगे और 1.1 नियमों और चोक के साथ आने वाले संदेशों को मान्य करेंगे।
ल्यूक
स्रोत
2014-08-28 09:31:38
हाँ मुझे पता है कि कई एपीआई क्रम बनाए रखने कर रहा हूँ। लेकिन मुझे आश्चर्य है कि एक्सएमएल विनिर्देशन द्वारा इस व्यवहार की आवश्यकता है या नहीं। –
प्रत्येक एक्सएमएल तत्व में एक सामग्री मॉडल हो सकता है। आपके तत्वों के लिए सामग्री मॉडल बहुत ही सरल हैं, लेकिन आप XML में बहुत जटिल सामग्री मॉडल बना सकते हैं जिसमें अनुक्रम या तत्वों की सूचियां शामिल हैं। एक्सएचटीएमएल तत्व में उस क्रम में
और तत्व होना चाहिए। उस अर्थ में एक्सएमएल विनिर्देश आपको ऑर्डर निर्दिष्ट करने की अनुमति देता है। यदि आपके पास अनुक्रम का एक सामग्री मॉडल है (शून्य या अधिक)