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 যাচাই নেই, এন্টিটি প্রসারণ নেই, namespace-উপসর্গের বন্ধন পরীক্ষা নেই।
- শুধু গাঠনিক ফাঁকা জায়গাই নতুন করে লেখা হয় — অ্যাট্রিবিউটের মাঝের স্পেস আর এমন সব ফাঁকা জায়গা যা টেক্সটহীন এলিমেন্ট গড়ে তোলে। অ্যাট্রিবিউটের ক্রম, কোটের ধরন, মান, এন্টিটি, কমেন্ট, CDATA ও DOCTYPE-এর অভ্যন্তরীণ অংশ অক্ষরে অক্ষরে নকল হয়।
- Mixed content কখনো নতুন করে ইনডেন্ট হয় না: <p>Hi <b>there</b>!</p>-এ ফাঁকা জায়গা যেমন লিখেছেন তেমনি থাকে, কারণ লাইনভেক বসালে টেক্সট বদলে যাবে। xml:space="preserve"-ও একইভাবে হুবহু নকল হয়।
- ফাঁকা এলিমেন্ট আপনার লেখা রূপই রাখে: <a></a>-কে <a/> করে ছোট করা হয় না, <a/>-কেও বাড়ানো হয় না। অ্যাট্রিবিউট সাজানো হয় না, কোট একরূপ করা হয় না।
- মিনিফাই শুধু গাঠনিক ফাঁকা জায়গা মুছছে। টেক্সটের ফাঁকা জায়গা, কমেন্ট, CDATA ও DOCTYPE থেকে যায় — আপনার কনটেন্ট থেকে কিছুই বাদ যায় না।
- ইনপুট একেবারে শেষে খোলা ট্যাগ, কমেন্ট, CDATA বা DOCTYPE থাকলে সেটি ভুল নয়, সতর্কতা হিসেবে দেখানো হয়: ফলাফল তবুও পাবেন। প্রকৃত ভুল (মিল না-হওয়া ট্যাগ, কোটবিহীন অ্যাট্রিবিউট মান, ছড়ানো "&") লাইন ও কলামসহ ভুল হিসেবে দেখানো হয়।
- ফ্র্যাগমেন্ট (কয়েকটি টপ-লেভেল এলিমেন্ট, বা রুটের বাইরের টেক্সট) ফ্র্যাগমেন্ট হিসেবেই ফরম্যাট ও জানানো হয়। কোনো এলিমেন্টই না থাকলে সেটি ভুল।
- লাইন ও কলাম নম্বরে Unicode code point গনা হয়, তাই একটি ইমোজি এক কলাম। শুধু স্পেস, ট্যাব, লাইন ফিড ও carriage return-ই ফাঁকা জায়গা; টেক্সটের ভেতরের U+3000 বা U+00A0 হলো কনটেন্ট — কখনো মুছে ফেলা হয় না।
- HTML নেই: </li> বা <br>-এর মতো বাদ-পড়া শেষ ট্যাগ খোলা হিসেবে ধরা পড়ে। ফাইল আপলোড নেই, URL প্যারামিটার নেই, হিস্টরি নেই, ট্রি ভিউ নেই, XML→JSON নেই। সবকিছু আপনার ব্রাউজারেই চলে: কিছুই আপলোড বা সংরক্ষণ হয় না।
- 200,000-এর বেশি অক্ষর হলে টাইপ করা থামার প্রায় 0.6 সেকেন্ড পর ফলাফল হালনাগাদ হয়; টেক্সট কখনো ছেঁটে ফেলা হয় না। আউটপুটে LF ব্যবহৃত হয়, শেষে অতিরিক্ত নতুন লাইন নেই; ফরম্যাটিং আইডেমপোটেন্ট।
সম্পর্কিত টুল
গঠন পড়া সহজ হওয়ার পর মানুষ সাধারণত যা চায়।