मुफ़्त ऑनलाइन XML फ़ॉर्मेटर और वैलिडेटर
मिनिफ़ाई किया हुआ या बिखरा हुआ XML पेस्ट करें और एक क्लिक में इंडेंट किया हुआ, पढ़ने योग्य नतीजा पाएँ। फ़ॉर्मेटर पार्स करते समय ही जाँच करता है, पहली सिंटैक्स त्रुटि दिखाता है, और दस्तावेज़ को दोबारा मिनिफ़ाई या JSON में बदल सकता है — सब कुछ आपके ब्राउज़र में।
XML फ़ॉर्मेटर क्या करता है
XML फ़ॉर्मेटर दस्तावेज़ को दोबारा इंडेंट करता है ताकि उसका नेस्टिंग दिखाई दे: हर चाइल्ड एलिमेंट अपने पैरेंट से एक स्तर अंदर आता है, और सिर्फ़ टेक्स्ट रखने वाले एलिमेंट एक ही लाइन में रहते हैं। मशीन से बना XML — SOAP एनवेलप, RSS फ़ीड, साइटमैप, Android लेआउट, Maven POM — आमतौर पर एक विशाल लाइन में आता है: पार्सर के लिए ठीक, इंसान के लिए अपठनीय। फ़ॉर्मेटिंग सिर्फ़ टैग के बीच की खाली जगह बदलती है, इसलिए बाहर आने वाला दस्तावेज़ वही होता है जो अंदर गया था।
ऑनलाइन XML कैसे फ़ॉर्मेट करें
चार चरण, न खाता चाहिए न अपलोड:
- अपना XML बाएँ पैनल में पेस्ट करें, या टूल आज़माने के लिए नमूना लोड करें।
- इंडेंट की चौड़ाई चुनें — 2 स्पेस, 4 स्पेस या एक टैब।
- फ़ॉर्मेट दबाएँ। अमान्य XML को पार्सर के अपने त्रुटि संदेश के साथ अस्वीकार किया जाता है, चुपचाप आधा नतीजा नहीं दिया जाता।
- नतीजा कॉपी या डाउनलोड करें, या दस्तावेज़ को JSON में बदलने के लिए दूसरे टैब पर जाएँ।
सही ढंग से बना XML बनाम मान्य XML
सही ढंग से बना (well-formed)
दस्तावेज़ XML सिंटैक्स का पालन करता है: एक ही रूट एलिमेंट, हर टैग बंद, सही क्रम में नेस्टिंग, एट्रिब्यूट मान उद्धरण चिह्नों में, और आरक्षित अक्षर एस्केप किए हुए। पार्सर यही जाँचता है, और यही यह टूल बताता है।
मान्य (valid)
दस्तावेज़ सही ढंग से बना है और किसी स्कीमा से भी मेल खाता है — DTD, XSD या RELAX NG व्याकरण, जो बताता है कि कौन-सा एलिमेंट कहाँ आ सकता है। मान्यता के लिए वह स्कीमा फ़ाइल चाहिए, इसलिए इसे आपका बिल्ड या एडिटर जाँचता है, ब्राउज़र में चलने वाला फ़ॉर्मेटर नहीं।
आम XML त्रुटियाँ और उनका समाधान
- बिना बंद किए या बेमेल टैग — <item> को </Item> से बंद करना। HTML के विपरीत XML में अक्षरों का केस मायने रखता है।
- एक से ज़्यादा रूट एलिमेंट। सहोदर एलिमेंट को एक ही कंटेनर एलिमेंट में लपेटें।
- टेक्स्ट या एट्रिब्यूट में बिना एस्केप किए & < > अक्षर। इन्हें & < > लिखें या टेक्स्ट को CDATA में रखें।
- बिना उद्धरण चिह्न वाले एट्रिब्यूट मान। हर एट्रिब्यूट को इनकी ज़रूरत है: id="1", कभी id=1 नहीं।
- बिना घोषित नेमस्पेस प्रिफ़िक्स, जैसे किसी पूर्वज एलिमेंट पर xmlns:soap दिए बिना soap:Body का उपयोग।