हिन्दी

डेवलपर टूल · सिंटेक्स कन्वर्टर्स

XML की वंशावली SGML से: इसमें विशेषताएँ, नामस्थान और DTD क्यों हैं

· पेजभूमि

एक्सएमएल डेटा-प्रारूप सुरक्षा

XML विशेषताएँ, नामस्थान उपसर्ग और अस्वीकृत DOCTYPE के बगल में मिश्रित पाठ
मूल ToolAcre वेक्टर चित्रण

XML की विषमताएं (विशेषताएं बनाम तत्व, नामस्थान, DTDs, मिश्रित सामग्री) तब समझ में आती हैं जब आप जान जाते हैं कि इसे दस्तावेज़ों के लिए सरलीकृत SGML के रूप में डिज़ाइन किया गया था, डेटा के लिए नहीं। यह पोस्ट उस वंश का पता लगाती है और जब आप XML को JSON में परिवर्तित करते हैं तो इसका क्या मतलब होता है।

इस डेटा प्रारूप में विशेषताएँ क्यों हैं? — एक डेवलपर XML को JSON में परिवर्तित कर रहा है और उस अंतर को पूरा कर रहा है JSON जिसकी कभी आवश्यकता नहीं थी

JSON में एक प्रकार की वस्तु संपत्ति है; XML विशेषताओं, बाल तत्वों और पाठ को अलग करता है। ToolAcre उस अंतर को `@` विशेषताओं और सामान्य चाइल्ड कुंजियों के साथ मैप करता है। अंतर तब दिखाई देता है जब किसी तत्व में `id="7"` और `<id>` चाइल्ड दोनों होते हैं: दोनों अलग-अलग गुणों के तहत जीवित रहते हैं।

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

SGML और दस्तावेज़ परंपरा - ISO 8879, प्रकाशन के लिए मार्कअप, और रिकॉर्ड एन्कोडिंग के बजाय टेक्स्ट को टैग करने का विचार

मिश्रित सामग्री, क्रमबद्ध बच्चे, विशेषताएँ, टिप्पणियाँ और प्रसंस्करण निर्देश XML स्रोत में मौजूद दस्तावेज़-उन्मुख विशेषताएं हैं। कार्यान्वयन उनके प्रबंधन को प्रदर्शित करता है लेकिन इसमें SGML कालक्रम, ISO प्रकाशन इतिहास या प्रकाशन-उद्योग प्रेरणाओं के साक्ष्य शामिल नहीं हैं।

इसलिए एक स्रोत-बद्ध लेख निष्पादन योग्य व्यवहार से शुरू होता है। बाल तत्वों के आसपास का पाठ हानिपूर्ण है; टिप्पणियाँ और प्रसंस्करण निर्देश हटा दिए गए हैं; CDATA अंकित रहता है. वे तथ्य बताते हैं कि एक दस्तावेज़ ट्री JSON मान ट्री में स्पष्ट रूप से फिट क्यों नहीं होता है।

दस्तावेज़-उन्मुख XML सुविधाएँ, SGML इतिहास दावे के बिना, कार्यान्वयन में दिखाई देती हैं

पार्सर सुगठित XML को मान्य करता है और लाइन और कॉलम की रिपोर्ट करता है। यह परिणामी मूल्य में घोषणा को अनदेखा करता है और पांच अंतर्निहित इकाइयों और संख्यात्मक चरित्र संदर्भों को डिकोड किए गए पाठ के रूप में संरक्षित करता है। यह कार्य-समूह लक्ष्य या दस-सिद्धांत डिज़ाइन खाता स्थापित नहीं करता है।

ऐतिहासिक दावों के लिए बाहरी एडिटरीय स्रोतों की आवश्यकता होती है, जिसे यह कार्य नहीं जोड़ता है। निर्भरता नाम से अनुपालन या उद्गम का आविष्कार करने की तुलना में उन्हें छोड़ना अधिक सटीक है।

पार्सर XML सिंटैक्स को संभालता है; रिपॉजिटरी साक्ष्य 1998 डिज़ाइन इतिहास स्थापित नहीं करता है

विशेषताएँ `@` के साथ उपसर्ग वाली कुंजियाँ बन जाती हैं; तत्व अपना नाम बरकरार रखते हैं। एक संरचित तत्व के अंदर का पाठ `#text` पर चला जाता है, जबकि केवल-पाठ वाला तत्व एक स्ट्रिंग में ढह जाता है। जहां तक ​​ऑब्जेक्ट मॉडल अनुमति देता है, यह संरचनात्मक कैटेगरी को अलग रखता है।

XML लिखने से परिपाटी उलट जाती है: `@id` एक विशेषता बन जाती है। अमान्य विशेषता या तत्व नामों को साफ़ करने के बजाय अस्वीकार कर दिया जाता है। यह निर्णय चुपचाप बदले गए नामों के साथ विकृत मैपिंग को प्रशंसनीय XML बनने से रोकता है।

ToolAcre के @ सम्मेलन के तहत गुण और तत्व अलग-अलग रहते हैं

नेमस्पेस उपसर्गों को नेमस्पेस घोषणाओं सहित तत्व और विशेषता नामों में शब्दशः बनाए रखा जाता है। उनका समाधान नहीं किया जाता, हटाया नहीं जाता या दोबारा लिखा नहीं जाता। यह स्रोत वर्तनी को सुरक्षित रखता है लेकिन नेमस्पेस-अवेयर प्रकार का रिज़ॉल्यूशन नहीं है।

fast-xml-parser द्वारा दस्तावेज़ प्राप्त करने से पहले प्रत्येक DOCTYPE को अस्वीकार कर दिया जाता है। मास्क टिप्पणियों के अंदर गलत मिलान और CDATA से बचाता है। यह बाहरी इकाई अनुरोधों, स्थानीय-फ़ाइल इकाई पढ़ने और इकाई-विस्तार हमलों को रोकता है, जिसमें इनकार को बायपास करने का कोई विकल्प नहीं होता है।

नेमस्पेस उपसर्गों को अक्षरशः बरकरार रखा जाता है और प्रत्येक DOCTYPE को अस्वीकार कर दिया जाता है

`<p>before<b>bold</b>after</p>` में, टेक्स्ट प्लेसमेंट मायने रखता है। ToolAcre मिश्रित सामग्री का पता लगाता है, `#text` के अंतर्गत टुकड़ों को जोड़ता है और चेतावनी देता है कि बच्चों के सापेक्ष उनकी स्थिति खो गई है। JSON ऑब्जेक्ट गुण वैकल्पिक पाठ और तत्व नोड्स के क्रमबद्ध अनुक्रम को पुन: उत्पन्न नहीं कर सकते हैं।

बार-बार एक ही नाम वाले बच्चे सारणी बन जाते हैं, लेकिन अलग-अलग नाम वाले भाई-बहन गुण बने रहते हैं। सटीक दस्तावेज़ क्रम की आवश्यकता वाले कोड को परिवर्तित ऑब्जेक्ट को पूर्ण मानने के बजाय XML नोड प्रतिनिधित्व का उपयोग करना चाहिए।

इसमें क्या शामिल नहीं है - XSLT, XPath और XQuery, प्रसंस्करण भाषाएँ जो XML के आसपास विकसित हुईं

XSLT, XPath और XQuery आयात या प्रदर्शित नहीं किए जाते हैं। न ही पैनल XSD को मान्य करता है, DTD घोषणाओं को संसाधित करता है या टाइप किए गए डोमेन ऑब्जेक्ट का निर्माण करता है। यह स्पष्ट सुरक्षा और निष्ठा सीमाओं वाला एक डेटा प्रक्षेपण है।

एक क्वेरी या ट्रांसफ़ॉर्मेशन भाषा नोड ऑर्डर को उस तरह से संरक्षित और नेविगेट कर सकती है जिस तरह से यह सादा-मूल्य रूपांतरण नहीं कर सकता। उस टूलींग को चुनें जब दस्तावेज़ की विशेषताएँ आकस्मिक पैकेजिंग के बजाय कार्य का हिस्सा हों।

टेकअवे: XML एक दस्तावेज़ प्रारूप है जो डेटा ले जाना सीखता है - और सिंटेक्स कन्वर्टर्स पैनल कैसे दिखाता है कि JSON में इसके अनुवाद से क्या बचा है

XML के अवलोकन योग्य डेटा मॉडल में JSON से अनुपस्थित भेद शामिल हैं। ToolAcre विशेषताओं, CDATA और संरचित पाठ को चिह्नित करता है, नेमस्पेस उपसर्गों को बरकरार रखता है, गैर-डेटा नोड्स को हटा देता है और DOCTYPEs को अस्वीकार कर देता है। प्रत्येक विकल्प दृश्यमान और परीक्षणित है।

यह जानने के लिए पैनल का उपयोग करें कि प्रक्षेपण में क्या बचता है, ऐतिहासिक अधिकार या पूर्ण XML प्रोसेसर के रूप में नहीं। ऑर्डर करते समय, स्कीमा या नेमस्पेस शब्दार्थ मायने रखते हैं, मूल पेड़ रखें और उद्देश्य-निर्मित XML टूलिंग का उपयोग करें।

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