मुख्य सामग्री पर जाएँ
Tooletto

XML मिनिफ़ायर

XML फ़ॉर्मेटर का एक प्रीसेट

एलिमेंट के बीच का व्हाइटस्पेस हटाकर XML को एक लाइन में समेटें। किसी रिक्वेस्ट बॉडी या कॉन्फ़िगरेशन वैल्यू में कोई दस्तावेज़ एम्बेड करने के लिए उपयोगी, जहाँ इंडेंटेशन बेकार वज़न है।

  • फ़ाइलें कभी आपकी डिवाइस से बाहर नहीं जातीं
  • मुफ़्त, बिना साइन-अप
  • कोई वॉटरमार्क नहीं
  • लोड होने के बाद ऑफ़लाइन भी काम करता है
Loading tool…

XML फ़ॉर्मेटर कैसे करें

  1. 1

    अपना XML पेस्ट करें

    कोई मिनिफ़ाई फ़ीड, कॉन्फ़िगरेशन फ़ाइल, SOAP रिस्पॉन्स — जो भी हो।

  2. 2

    फ़ॉर्मेट करें या मिनिफ़ाई करें

    पढ़ने के लिए इंडेंट करें, या भेजने के लिए समेटें।

  3. 3

    एरर जाँचें

    असंतुलित और बिना बंद किए टैग साफ़ तौर पर बताई जाती हैं।

मिनिफ़ाई किया XML असल में कहाँ इस्तेमाल होता है

XML काफ़ी सारे संदर्भों में दिखता है जहाँ ट्रांसफ़र साइज़ का हर बाइट इंसानी पढ़ने लायक़पन से ज़्यादा मायने रखता है — सर्विस के बीच बार-बार भेजी जाने वाली कोई SOAP रिक्वेस्ट बॉडी, किसी लंबाई-सीमित एनवायरनमेंट वेरिएबल में स्टोर की गई कॉन्फ़िगरेशन वैल्यू, किसी ऑटोमेटेड क्लाइंट द्वारा बार-बार फ़ेच की जाने वाली फ़ीड। CDATA सेक्शन, कमेंट और एट्रिब्यूट वैल्यू को बिल्कुल जैसा लिखा गया है वैसा सावधानी से बरक़रार रखते हुए एलिमेंट के बीच व्हाइटस्पेस समेटना उन ख़ास सेक्शन द्वारा जान-बूझकर सुरक्षित किए किसी भी डेटा को छुए बिना फ़ॉर्मेटिंग का बोझ हटा देता है, जो वही सुरक्षा गारंटी है जो पार्सर उल्टी दिशा में फ़ॉर्मेट करते समय लागू करता है।

मिनिफ़ाई करना डेटा को नहीं छूता, सिर्फ़ फ़ॉर्मेट को

फ़ॉर्मेटर की पार्सिंग गारंटी की तरह ही, यहाँ मिनिफ़िकेशन सिर्फ़ एलिमेंट टैग के बीच का व्हाइटस्पेस हटाता है — यह एलिमेंट को दोबारा क्रमबद्ध नहीं करता, एट्रिब्यूट वैल्यू दोबारा नहीं लिखता, या नतीजे में मिले XML को पार्स करने वाला कोई प्रोग्राम असल में जो पढ़ेगा उसमें कुछ नहीं बदलता। इस तरह मिनिफ़ाई किया गया कोई दस्तावेज़ और पढ़ने लायक़पन के लिए फ़ॉर्मेट किया गया दस्तावेज़ किसी भी प्रोग्रामेटिक रूप से इस्तेमाल करने वाली चीज़ के लिए बिल्कुल एक जैसा डेटा दर्शाते हैं; सिर्फ़ उनका बाइट साइज़ और इंसानी पढ़ने लायक़पन अलग है।

किसी एलिमेंट के अंदर का व्हाइटस्पेस अछूता छोड़ा जाता है, सिर्फ़ बाहर वाला नहीं

दो सिबलिंग एलिमेंट के बीच का व्हाइटस्पेस — सिर्फ़ किसी इंसानी पाठक के फ़ायदे के लिए इस्तेमाल की गई इंडेंटेशन — वही है जो हटाया जाता है। असली कंटेंट के रूप में टेक्स्ट रखने वाले किसी एलिमेंट के सीधे अंदर स्थित व्हाइटस्पेस, जैसे एलिमेंट टेक्स्ट के रूप में स्टोर किए किसी वाक्य के अंदर जान-बूझकर रखा गया स्पेस, हटाने की बजाय बरक़रार रखा जाता है, क्योंकि XML में ऐसा कोई सामान्य नियम नहीं है कि किसी एलिमेंट के कंटेंट के अंदर व्हाइटस्पेस उस तरह महत्वहीन हो जैसे HTML अक्सर मानता है। इस फ़र्क़ को सही करना ही वजह है कि ख़ास तौर पर इसके लिए बना पार्सर इसे सही तरीक़े से संभालता है जहाँ "सारा व्हाइटस्पेस हटा दो" वाला सामान्य तरीक़ा असली टेक्स्ट कंटेंट को बिगाड़ देगा।

अक्सर पूछे जाने वाले सवाल

क्या यह मेरा XML वैलिडेट करता है?

यह जाँचता है कि टैग संतुलित और सही तरीक़े से नेस्टेड हैं या नहीं, और न होने पर समस्या वाली टैग बताता है। यह किसी DTD या XSD स्कीमा के ख़िलाफ़ वैलिडेट नहीं करता — उसके लिए ख़ुद स्कीमा चाहिए और यह एक अलग काम है।

क्या CDATA सेक्शन और कमेंट बरक़रार रहते हैं?

बिल्कुल जैसे लिखे गए हैं वैसे ही। पार्सर टैग ढूँढने से पहले `<![CDATA[…]]>`, कमेंट, प्रोसेसिंग इंस्ट्रक्शन और DOCTYPE डिक्लेरेशन पहचानता है, तो उनके अंदर का मार्कअप कभी संरचना समझकर ग़लत नहीं समझा जाता — यही वह जगह है जहाँ रेगुलर-एक्सप्रेशन-आधारित फ़ॉर्मेटर फ़ाइलें बिगाड़ते हैं।

< या > रखने वाले एट्रिब्यूट का क्या होता है?

ये संभाले जाते हैं। पार्सर किसी टैग को पढ़ते समय कोटेशन का ट्रैक रखता है, तो `note="a > b"` जैसा एट्रिब्यूट टैग को समय से पहले ख़त्म नहीं करता। यह सरल फ़ॉर्मेटर में एक आम ख़ामी है।

क्या मैं इसे HTML के लिए इस्तेमाल कर सकता हूँ?

सख़्त XHTML के लिए, हाँ। असली दुनिया के HTML में `<br>` और `<img>` जैसे ख़ाली एलिमेंट हैं जो कभी बंद नहीं होते, साथ ही वैकल्पिक क्लोज़िंग टैग भी, तो इसके लिए HTML फ़ॉर्मेटर सही टूल है — यह एक असली HTML पार्सर इस्तेमाल करता है।