2009-05-08 17 views
16

मैंने http://www.w3.org/TR/xml-infoset/ और wikipedia entry पढ़ने की कोशिश की है। लेकिन स्पष्ट रूप से मुझे अभी भी यकीन नहीं है कि अंतर क्या है।एक्सएमएल इंफोसेट क्या है और एक्सएमएल दस्तावेज़ से यह किस तरह से अलग है?

बोली:

एक XML दस्तावेज़ एक सूचना सेट अगर यह अच्छी तरह से गठित किया गया है और नाम स्थान की कमी को संतुष्ट करता है। सेट करने के लिए मान्य होने के लिए XML दस्तावेज़ के लिए कोई आवश्यकता नहीं है।

विकिपीडिया प्रविष्टि से समझ में नहीं आता है। एक गैर वैध दस्तावेज़ में कोई अर्थशास्त्र कैसे हो सकता है, और इस प्रकार यह 'सूचना' सेट कैसे हो सकता है?

क्या यह 'इन्फोसेट' कि

अच्छी तरह से गठित और संतुष्ट नाम स्थान

एक्सएमएल है विवश है? और जिस तरह से यह अपने आप में उपयोगी है। दूसरे शब्दों में, यह क्यों है, अर्थात् बोलना, एक्सएमएल इंफोसेट को परिभाषित करने के लिए आवश्यक है? क्या कोई ऐसी जानकारी है जिसे एक्सएमएल में प्रदर्शित नहीं किया जा सकता है? यदि ऐसा है तो मैं एक्सएमएल इंफोसेट के सीमित सेट को देख सकता हूं, लेकिन अगर निश्चित रूप से एक्सएमएल इंफोसेट शब्द 'सूचना' के रूप में अर्थहीन नहीं है?

दिलचस्प जवाब के लिए धन्यवाद: मैं अभी भी क्यों XML इन्फोसेट किसी भी उद्देश्य के रूप में इस शब्द इन्फोसेट करने का विरोध किया है समझ नहीं कर सकते। लेकिन आप लोगों ने मुझे प्रश्न का सीधा जवाब दिया है।

+1

एक पुराना सवाल है, लेकिन मैंने एक नया जवाब पोस्ट किया क्योंकि मुझे लगता है कि यह उपयोगी है। – RichardOD

उत्तर

6

एक्सएमएल टेक्स्ट और एक्सएमएल इंफोसेट के बीच भेद के बारे में सोचने का एक उपयोगी तरीका Fast Infoset पर विचार करना है। यह एक्सएमएल इंफोसेट का एक द्विआधारी प्रतिनिधित्व है।

तो तुम एक सार "इन्फोसेट" जो एक वैचारिक मॉडल XML डेटा का प्रतिनिधित्व (नोड्स, तत्व, गुणधर्म, आदि) है। इसे शारीरिक रूप से टेक्स्ट XML दस्तावेज़, या फास्ट इंफोसेट स्ट्रीम के रूप में दर्शाया जा सकता है। दोनों एक ही डेटा का प्रतिनिधित्व करते हैं, लेकिन मूल रूप से विभिन्न तरीकों से।

+0

धन्यवाद, लेकिन मुझे अभी भी यह समझने में समस्या है कि XML जानकारी को सेट सेट के सामान्य मामले से अलग कैसे सेट किया गया है। मैं उस जवाब को देख लूंगा। –

+0

मैं कोशिश करूंगा और अधिक स्पष्ट हो जाऊंगा। क्या यह मामला है कि XML => तत्व और गुण? उस स्थिति में यह समझ में आता है हालांकि मुझे मूल रूप से इंफोसेट (यानी जानकारी का वर्णन करने) के सामान्य मामले की विशेषज्ञता के रूप में एक्सएमएल की अवधारणा माना जाता है। अब ऐसा लगता है कि एक्सएमएल उस अवधारणा का सामान्यीकरण है जिस स्थिति में एक्सएमएल इंफोसेट इंफोसेट है। इसलिए अर्थशास्त्र को समझने में मेरी अक्षमता। –

+0

धन्यवाद। अंत में यह डूब गया है। –

2

एक वैध XML दस्तावेज़ एक डीटीडी या एक्सएसडी (या अन्य मानकों) की आवश्यकताओं को पूरा करता है। यदि यह अच्छी तरह से गठित है, तो यह अभी भी 'अमान्य' हो सकता है, अगर यह दिए गए डीटीडी या एक्सएसडी में नियमों का उल्लंघन करता है।

संपादित करें: मैं एक्सएमएल के इस क्षेत्र में नया हूं, लेकिन ऐसा लगता है कि इंफोसेट वास्तविक तकनीकी कार्यान्वयन से स्वतंत्र, एक XML दस्तावेज़ के हिस्सों का 'सार स्तर' वर्णन है - उदाहरण के लिए, एक दस्तावेज़ ऑब्जेक्ट मॉडल कार्यान्वयन।

+0

लेकिन यह एक वेनिला एक्सएमएल दस्तावेज़ के विपरीत एक इंफोसेट बनाता है? –

17

एक्सएमएल टेक्स्ट नहीं है। एक्सएमएल "एक्सएमएल इंफोसेट" है। इसके बाद इसे किसी XML दस्तावेज़ में पाठ में क्रमबद्ध किया जा सकता है, लेकिन यह एक्सएमएल इन्फोसेट है जो वास्तविकता है।

उदाहरण के लिए, डीओएम पेड़ के रूप में स्मृति में इंफोसेट मौजूद हो सकता है। यह एक सार वस्तु ऑब्जेक्ट मॉडल के कार्यान्वयन के रूप में स्मृति में मौजूद है।

क्या होगा यदि मैंने इसे यूटीएफ -8 के रूप में क्रमबद्ध किया और फिर यूटीएफ -16 के रूप में। संभावना है कि परिणाम बिट्स के दो अलग-अलग सेट होंगे, लेकिन एक ही इंफोसेट।

यह भी विचार करें कि टेक्स्ट के साथ स्ट्रिंग कॉन्सटेनेशन जैसी चीज़ें करने के लिए यह समझ में आता है। आप एक XML तत्व के बीच में "<" को जोड़ना नहीं चाहते हैं। आपको इसे पहले एन्कोड करना होगा। अगर आपको सिर्फ पाठ था तो आपको ऐसा क्यों करना होगा? यदि आपने डीओएम का इस्तेमाल किया है, उदाहरण के लिए, आप केवल तत्व कहेंगे। इनरटेक्स्ट = "<"; जब serialized, "<" को "& लेफ्टिनेंट" में एन्कोड किया जाएगा; फिर भी यह वही इंफोसेट है।

+0

मैं इस प्रतिमान को कल्पना नहीं कर सकता - एक्सएमएल किस तरह से पाठ नहीं है।मैं facaetious नहीं हो रहा है लेकिन कोण ब्रैकेट के साथ प्रतिनिधित्व किए बिना xml 'अस्तित्व' कैसे करता है? –

+0

धन्यवाद। मैं उदाहरण की सराहना करता हूं। मैंने मूल रूप से एन्कोडिंग पहलू और 'समान जानकारी' पहलू को देखा - लेकिन क्या यह सब एक इंफोसेट है? एक्सएमएल इंफोसेट किसी भी सूचना परिभाषा से अलग क्या बनाता है? –

+0

+1 अपने बिट्स से स्वतंत्र मॉडल की जांच के लिए +1। यह भी देखें http://en.wikipedia.org/wiki/Theory_of_Forms –

2

एक एक्सएमएल इंफोसेट अवधारणाओं और संस्थाओं जैसे अवधारणाओं का एक सार सेट है जिसका प्रयोग वैध XML दस्तावेज़ का वर्णन करने के लिए किया जा सकता है। विनिर्देश के अनुसार, "एक एक्सएमएल दस्तावेज़ के सूचना सेट में कई सूचना आइटम होते हैं; किसी भी अच्छी तरह से बनाए गए XML दस्तावेज़ के लिए सेट की गई जानकारी में कम से कम एक दस्तावेज़ जानकारी आइटम और कई अन्य शामिल होंगे।"

सिर्फ इसलिए कि एक XML दस्तावेज एक इन्फोसेट यह एक XSD के अनुरूप है और एक मान्य XML दस्तावेज है इसका मतलब यह नहीं है।

+0

धन्यवाद। तो आप क्या कह रहे हैं कि गुणों और संस्थाओं के साथ कुछ वर्णन करके - यानी चीज़ों और चीज़ों के बारे में चीजें इसे एक एक्सएमएल इंफोसेट बनाती हैं? मैं आपको मूल प्रश्नों के बारे में बताता हूं - फिर ऐसी चीज को परिभाषित करने के लिए परेशान क्यों? इसकी क्या ज़रूरत है? –

+1

यह कुछ ठोस कार्यान्वयन पर उनके प्रभाव के संदर्भ में अन्य एक्सएमएल मानकों को इस अमूर्त मॉडल के संदर्भ में वर्णित करने की अनुमति देता है। इस तथ्य पर विचार करें कि कई ठोस कार्यान्वयन हो सकते हैं, और लाभ अधिक स्पष्ट हो जाता है। इन्फोसेट के संदर्भ में, आपको इसे एक बार वर्णित करने के बजाय अलग-अलग कार्यान्वयन के लिए एक्सएसएलटी का कई बार वर्णन करना होगा। –

0

एक अच्छा उदाहरण जो मैंने अभी पार किया है David Chappell's WCF PDF में है। यह वह जगह है कि यह कैसे काम करता है जब उदाहरण के लिए टीसीपी का उपयोग कर:

अनुकूलतम प्रदर्शन जब एक संचार में दोनों दलों WCF पर निर्माण कर रहे हैं अनुमति देने के लिए, तार इस मामले में इस्तेमाल किया एन्कोडिंग सोप के एक अनुकूलित द्विआधारी संस्करण है । संदेश अभी भी एक सोप संदेश का डेटा संरचना, अपने इन्फोसेट के रूप में भेजा के अनुरूप है, लेकिन उनके एन्कोडिंग कि इन्फोसेट बजाय XML के मानक कोण कोष्ठक और पाठ प्रारूप के एक द्विआधारी प्रतिनिधित्व उपयोग करता है। इस विकल्प को कॉल सेंटर क्लाइंट अनुप्रयोग के साथ संवाद स्थापित के लिए कोई मतलब होता है का उपयोग करना, क्योंकि यह भी WCF पर बनाया गया है, और प्रदर्शन एक सर्वोच्च चिंता का विषय है।

+0

चीयर्स रिच, वास्तव में जहां मेरा प्रश्न उत्पन्न हुआ। मैं यह नहीं देख सकता कि एक्सएमएल इम्फोसेट ने इंफोसेट के सामान्य मामले से गुणों के मामले में क्या किया है। दरअसल मैं बेवकूफ महसूस करता हूं कि मैं अकेला व्यक्ति हूं जो यह नहीं देख सकता कि एक्सएमएल इंफोसेट में एक्सएमके क्यों मायने रखता है। –

2

कृपया यह लिंक एमएसडीएन से देखें। http://msdn.microsoft.com/en-us/library/aa468561.aspx

यह अवधारणाओं का वास्तव में एक अच्छा स्पष्टीकरण है और उम्मीद है कि यह आपको स्पष्ट कर देगा।

+0

धन्यवाद, मैं इसे अभी पढ़ रहा हूं। यह बल्कि अच्छा लग रहा है। –

0

एक्सएमएल एक भाषा है, इसलिए इसमें वाक्यविन्यास है, और एक्सएमएल इंफोसेट में डेटा मॉडल का विनिर्देश है, यह अनुप्रयोगों की आवश्यकता है जो वाक्यविन्यास के बजाय डेटा मॉडल पर आधारित हैं; एक्सएमएल एक्सएमएल इंफोसेट से पहले आता है; संदर्भ: वेब Linkbase पहुँच

+0

क्या आप इस उत्तर को विस्तारित कर सकते हैं? मूल रूप से डेटा मॉडल क्या है और यह इन्फोसेट शब्द से अलग कैसे है? –

0

XML इन्फोसेट के लिए प्रोटोकॉल विचार कैसे आप धारावाहिक XML दस्तावेज़ की संरचना करना चाहिए पर एक आवश्यकता है।

धारावाहिक एक्सएमएल विभिन्न रूपों, कुछ द्विपदीय प्रारूप (Fast Infoset) या पाठ (सबसे लोकप्रिय फार्म) की तरह हो सकता है।

मूल रूप से XML दस्तावेज़ प्रारूप (पाठ) के लिए, प्रत्येक तत्व और विशेषता इसी नाम स्थान XSD गर्त में परिभाषित किया जाना चाहिए।

Here आपको एक उदाहरण मिलेगा।

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