XML फ़ॉर्मेटर
XML पेस्ट करें और वह खुद सज जाता है — टेक्स्ट और एट्रिब्यूट अछूते रहते हैं।
फ़ॉर्मेट किया XML
इसका उपयोग कैसे करें
- अपना XML बॉक्स में पेस्ट करें — यह टाइप करते ही फ़ॉर्मेट होता है, कोई बटन नहीं दबाना है।
- फ़ॉर्मेट या मिनिफ़ाई चुनें, और इंडेंटेशन के लिए 2 या 4 स्पेस; परिणाम तुरंत अपडेट होता है।
- अगर संरचना टूटी है, तो संदेश पंक्ति, कॉलम और एलिमेंट बताता है। परिणाम कॉपी करें या .xml फ़ाइल के रूप में डाउनलोड करें।
उदाहरण
इनपुट
<order id="A-1042"><customer><name>Ada Lovelace</name><email>ada@example.com</email></customer><items><item sku="X-1" qty="2">Analytical Engine gear</item><item sku="X-2" qty="1">Punch card set</item></items></order>
फ़ॉर्मेट किया गया
<order id="A-1042"> <customer> <name>Ada Lovelace</name> <email>ada@example.com</email> </customer> <items> <item sku="X-1" qty="2">Analytical Engine gear</item> <item sku="X-2" qty="1">Punch card set</item> </items> </order>
केवल डिफ़ॉल्ट नियम: हर पंक्ति में एक एलिमेंट, हर स्तर पर दो स्पेस। एट्रिब्यूट क्रम, कोट और मान अछूते हैं, और <name> के अंदर का टेक्स्ट भी।
नियम, सीमाएँ और ज्ञात समस्याएँ
- सिर्फ़ संरचना जाँच: टैग जोड़ी, एट्रिब्यूट कोट/डुप्लीकेट/अलगाव, एलिमेंट और एट्रिब्यूट नाम, एंटिटी सिंटैक्स। कोई DTD या XSD वैलिडेशन नहीं, कोई एंटिटी विस्तार नहीं, कोई नेमस्पेस-प्रीफ़िक्स बाइंडिंग जाँच नहीं।
- सिर्फ़ स्ट्रक्चरल व्हाइटस्पेस दोबारा लिखा जाता है — एट्रिब्यूट के बीच का व्हाइटस्पेस और वह व्हाइटस्पेस जो बिना टेक्स्ट वाला एलिमेंट बनाता है। एट्रिब्यूट क्रम, कोट शैली, मान, एंटिटी, कमेंट, CDATA और DOCTYPE का आंतरिक उपसमुच्चय अक्षर-दर-अक्षर कॉपी होते हैं।
- मिश्रित सामग्री कभी दोबारा इंडेंट नहीं होती: <p>Hi <b>there</b>!</p> में स्पेसिंग जैसी टाइप की गई वैसी रहती है, क्योंकि लाइन ब्रेक जोड़ने से टेक्स्ट बदल जाता। यही xml:space="preserve" पर भी लागू होता है, जो जैसा है वैसा कॉपी होता है।
- खाली एलिमेंट आपके टाइप किए रूप में रहते हैं: <a></a> को <a/> में नहीं सिकोड़ा जाता, और <a/> को फैलाया नहीं जाता। एट्रिब्यूट क्रमबद्ध नहीं होते और कोट एक जैसे नहीं किए जाते।
- मिनिफ़ाई सिर्फ़ स्ट्रक्चरल व्हाइटस्पेस हटाता है। टेक्स्ट का व्हाइटस्पेस, कमेंट, CDATA और DOCTYPE रखे जाते हैं — आपकी सामग्री से कुछ नहीं हटता।
- इनपुट के बिल्कुल अंत में अनबंद टैग, कमेंट, CDATA या DOCTYPE चेतावनी है, त्रुटि नहीं: परिणाम फिर भी मिलता है। असली ग़लतियाँ (मेल न खाते टैग, बिना कोट के एट्रिब्यूट मान, भटका हुआ "&") पंक्ति और कॉलम के साथ त्रुटियाँ हैं।
- फ़्रैगमेंट (कई टॉप-लेवल एलिमेंट, या रूट के बाहर टेक्स्ट) फ़्रैगमेंट के रूप में फ़ॉर्मेट और सूचित होता है। बिना किसी एलिमेंट वाला इनपुट त्रुटि है।
- पंक्ति और कॉलम संख्याएँ Unicode कोड पॉइंट गिनती हैं, इसलिए एक इमोजी एक कॉलम है। सिर्फ़ स्पेस, टैब, लाइन फ़ीड और कैरिज रिटर्न व्हाइटस्पेस गिने जाते हैं; टेक्स्ट के अंदर U+3000 या U+00A0 सामग्री है और कभी नहीं हटता।
- HTML नहीं: </li> या <br> जैसे छोड़े गए अंत टैग अनबंद बताए जाते हैं। कोई फ़ाइल अपलोड नहीं, URL पैरामीटर नहीं, इतिहास नहीं, ट्री व्यू नहीं, XML→JSON नहीं। सब कुछ आपके ब्राउज़र में चलता है: कुछ अपलोड या संग्रहीत नहीं होता।
- 2,00,000 कैरेक्टर से ऊपर परिणाम टाइप करना रोकने के लगभग 0.6 s बाद अपडेट होता है; टेक्स्ट कभी काटा नहीं जाता। आउटपुट LF का उपयोग करता है और अंत में नया लाइन ब्रेक नहीं होता; फ़ॉर्मेटिंग इडेम्पोटेंट है।
संबंधित टूल
संरचना पढ़ने योग्य हो जाने के बाद लोग आमतौर पर यह चाहते हैं।