XML ফরম্যাটার ও বিউটিফায়ার

XML পেস্ট করুন এবং তা beautify করুন (পরিষ্কার ইনডেন্টেশনসহ প্রিটি-প্রিন্ট), minify করুন (এক লাইনে গুটিয়ে ফেলুন), বা validate করুন (যাচাই করুন তা well-formed কিনা)। Comments, CDATA ও attributes সংরক্ষিত থাকে — সবকিছু আপনার ব্রাউজারে চলে এবং কিছুই আপলোড হয় না।

XML ফরম্যাটার কীভাবে কাজ করে

এই টুল আপনার XML অক্ষরে অক্ষরে পড়ে এবং তা tokens-এ বিভক্ত করে — start tags, end tags, self-closing tags, টেক্সট, comments, CDATA সেকশন, processing instructions ও ডিক্লারেশন। তারপর এটি সেই tokens আবার নির্গত করে, প্রতিটি খোলা এলিমেন্টের জন্য এক স্তর ইনডেন্টেশন যোগ করে এবং বন্ধ হওয়ার সময় সরিয়ে দেয়, যাতে নেস্টিং-এর গভীরতা প্রতিটি লাইন কতটা ইনডেন্ট তা দিয়ে বোঝা যায়। যেহেতু এটি কিছু ফেলে দেওয়ার বদলে tokens নিয়ে কাজ করে, আপনার নথিতে কিছুই হারায় না: attributes, comments ও CDATA সেকশনের কাঁচা বিষয়বস্তু ঠিক তেমনই আসে যেমন আপনি টাইপ করেছিলেন। Minify এর উল্টো করে — এটি tags-এর মধ্যেকার ফাঁকা জায়গা সরিয়ে দেয় যাতে নথিটি একটিমাত্র সংক্ষিপ্ত লাইনে গুটিয়ে যায়, যখন টেক্সট ও CDATA বিষয়বস্তু অক্ষত থাকে।

Beautify বনাম minify বনাম validate

ক্রিয়াএটি কী করেএটি তখন ব্যবহার করুন…
Beautifyইনডেন্টেশন ও লাইন ব্রেক যোগ করে (2/4-স্পেস বা ট্যাব)।আপনাকে এমন XML পড়তে বা ডিবাগ করতে হবে যা মিনিফাই করা বা এক লাইনে এসেছে।
Minifytags-এর মধ্যেকার ফাঁকা জায়গা সরায়; টেক্সট ও CDATA রাখে।আপনার নেটওয়ার্কে পাঠানো বা সংরক্ষণের জন্য সবচেয়ে ছোট ফাইল দরকার।
Validatewell-formedness যাচাই করে এবং সঠিক এরর জানায়।কোনো পার্সার আপনার XML প্রত্যাখ্যান করছে এবং আপনাকে কারণ খুঁজতে হবে।

প্রতিবার যখন আপনি ইনপুট সম্পাদনা করেন বা ক্রিয়া বদলান, টুল আবার well-formedness যাচাই করে, তাই বক্সের নিচের স্ট্যাটাস লাইন সবসময় জানায় নথিটি পার্স হয় কিনা, এবং না হলে কোথায় ব্যর্থ হয়।

XML সিনট্যাক্স রেফারেন্স

অংশউদাহরণমন্তব্য
Prolog / ডিক্লারেশন<?xml version="1.0" encoding="UTF-8"?>ঐচ্ছিক প্রথম লাইন যা XML সংস্করণ ও ক্যারেক্টার এনকোডিং জানায়।
Element (এলিমেন্ট)<title>Midnight Rain</title>একটি start tag, বিষয়বস্তু, এবং একটি মিল end tag। প্রতিটি start tag বন্ধ করা আবশ্যক।
খালি এলিমেন্ট<br/>একটি self-closing tag — বিষয়বস্তুবিহীন এলিমেন্টের সংক্ষিপ্ত রূপ।
Attribute (অ্যাট্রিবিউট)<book id="bk101">start tag-এ একটি name="value" জোড়া; মান উদ্ধৃতিতে থাকতে হবে (একক বা দ্বৈত)।
Comment (কমেন্ট)<!-- notes here -->পার্সার এটি উপেক্ষা করে; এই ফরম্যাটার এটি অক্ষরে অক্ষরে রাখে।
CDATA সেকশন<![CDATA[ if (a < b) … ]]>কাঁচা টেক্সট যাতে escaping ছাড়াই < ও & থাকতে পারে — ঠিক যেমন আছে তেমনই রাখা হয়।
Processing instruction<?xml-stylesheet href="s.xsl"?>নথিটি প্রক্রিয়াকারী অ্যাপ্লিকেশনের জন্য একটি নির্দেশ।
Entity reference&lt; &gt; &amp; &quot; &apos;পাঁচটি সংরক্ষিত অক্ষর < > & " ও অ্যাপোস্ট্রফির জন্য escapes।

Well-formed বনাম valid XML

এই টুল যাচাই করে আপনার XML well-formed কিনা — এটি মৌলিক সিনট্যাক্স নিয়ম মেনে চলে: একটিমাত্র root এলিমেন্ট, প্রতিটি start tag বন্ধ, tags সঠিকভাবে নেস্টেড, attribute মান উদ্ধৃতিতে, এবং পাঁচটি সংরক্ষিত অক্ষর escaped (বা CDATA-তে মোড়া)। এটি valid হওয়া থেকে আলাদা, যার অতিরিক্ত মানে হলো নথিটি কোনো নির্দিষ্ট schema (একটি DTD বা XSD)-এর সঙ্গে সংগতিপূর্ণ, যা ঠিকঠাক সংজ্ঞায়িত করে কোন এলিমেন্ট ও attributes কোন ক্রমে অনুমোদিত। Well-formed হলো পূর্বশর্ত: কোনো schema-র বিপরীতে যাচাই করার আগে XML-কে well-formed হতে হবে। আপনার যদি কেবল আপনার ফাইলটি পরিষ্কারভাবে পার্স হওয়া দরকার হয়, তবে well-formedness-ই আপনার প্রয়োজন — এবং সেটিই এখানে স্ট্যাটাস লাইন জানায়।

সাধারণ ব্যবহার

  • এক লাইনে ফিরে আসা মিনিফাই করা API রেসপন্স (SOAP, RSS/Atom ফিড, sitemaps) পড়া।
  • কোনো diff বা কোড রিভিউয়ের আগে কনফিগারেশন ফাইল (pom.xml, Android layouts, web.xml, .svg) পরিষ্কার করা।
  • কোনো XML payload পাঠানোর আগে ছোট করা, তারপর ডিবাগ করার জন্য তা আবার বিস্তৃত করা।
  • কোনো বন্ধ না-করা বা অমিল tag খুঁজে বের করা যা কোনো কঠোর পার্সার প্রত্যাখ্যান করছে।

গোপনীয়তা

ফরম্যাটারটি সম্পূর্ণ ক্লায়েন্ট-সাইড। আপনার XML আপনার নিজের ব্রাউজারেই পার্স ও আবার ইনডেন্ট হয়, কখনো কোনো সার্ভারে পাঠানো হয় না, এবং সংরক্ষণ বা লগও করা হয় না — তাই এটি ব্যক্তিগত কনফিগারেশন ও API ডেটার সঙ্গে নিরাপদ, এবং পৃষ্ঠা লোড হওয়ার পরে অফলাইনেও কাজ করে।

প্রায়শই জিজ্ঞাসিত প্রশ্ন

একটি XML ফরম্যাটার (বিউটিফায়ার) কী করে?
এটি XML-কে আবার ইনডেন্ট করে যাতে নেস্টেড গঠন পড়তে সহজ হয়। মিনিফাই করা বা এক-লাইনের XML — যেভাবে API ও কনফিগ ফাইল প্রায়ই সংরক্ষণ করে — আলাদা লাইনে বিস্তৃত করা হয়, প্রতিটি চাইল্ড এলিমেন্ট তার প্যারেন্টের নিচে ইনডেন্ট হয়। এই টুল ডেটা বদলায় না: এলিমেন্ট নাম, attributes, টেক্সট বিষয়বস্তু, comments ও CDATA সেকশন সবই ঠিক তেমনই সংরক্ষিত থাকে; কেবল tags-এর মধ্যেকার ফাঁকা জায়গা আবার লেখা হয়। আপনি 2-স্পেস, 4-স্পেস বা ট্যাব ইনডেন্ট বেছে নিতে পারেন।
বিউটিফাই, মিনিফাই ও ভ্যালিডেট করার মধ্যে পার্থক্য কী?
Beautify (প্রিটি-প্রিন্ট) ইনডেন্টেশন ও লাইন ব্রেক যোগ করে যাতে একজন মানুষ গঠন পড়তে পারে। Minify tags-এর মধ্যেকার সমস্ত ফাঁকা জায়গা সরিয়ে দেয় যাতে ফাইলটি পাঠানো বা সংরক্ষণের জন্য যতটা সম্ভব ছোট হয় — এলিমেন্ট ও CDATA-এর ভেতরের টেক্সট অক্ষত থাকে। Validate যাচাই করে নথিটি well-formed কিনা: প্রতিটি tag বন্ধ, tags সঠিকভাবে নেস্ট হয়, attribute মান উদ্ধৃতিতে থাকে এবং একটিমাত্র root এলিমেন্ট থাকে। এই টুল তিনটিই করতে পারে, এবং কোনো এরর থাকলে সঠিক well-formedness এরর জানায়।
এটি কি যাচাই করে আমার XML well-formed কিনা?
হ্যাঁ। এটি আপনার ইনপুট ব্রাউজারের অন্তর্নির্মিত XML পার্সার দিয়ে পার্স করে এবং একটি সবুজ "well-formed" স্ট্যাটাস বা সঠিক এরর দেখায় (যে লাইন ও কলামে পার্সিং ব্যর্থ হয়েছে সেসহ) — যেমন একটি বন্ধ না-করা tag, একটি অমিল end tag বা উদ্ধৃতিবিহীন attribute। মনে রাখবেন এটি একটি well-formedness যাচাই, schema ভ্যালিডেশন নয়: এটি নিশ্চিত করে XML ভাষার সিনট্যাক্স নিয়ম মেনে চলে, তবে এটি কোনো DTD বা XSD-এর বিপরীতে ভ্যালিডেট করে না, তাই আপনার এলিমেন্টগুলো কোনো নির্দিষ্ট schema-র সঙ্গে মেলে কিনা তা জানাবে না।
comments, CDATA ও attributes কি রাখা হয়?
হ্যাঁ। ফরম্যাটার নথিটিকে টোকেনাইজ করে, অংশ ফেলে দেয় না, তাই XML comments (<!-- … -->), CDATA সেকশন (<![CDATA[ … ]]>), processing instructions, <?xml …?> ডিক্লারেশন ও DOCTYPE লাইন সবই অক্ষরে অক্ষরে সংরক্ষিত থাকে। Attribute-এর ক্রম ও মান অক্ষত থাকে, এবং CDATA-এর ভেতরের কাঁচা টেক্সট — যেকোনো < বা & অক্ষরসহ — ঠিক তেমনই কপি হয়, কারণ এটিই তো একটি CDATA সেকশনের পুরো উদ্দেশ্য।
"unclosed tag" বা "mismatched tag" এরর কীভাবে ঠিক করব?
এই এররগুলোর মানে কোনো start tag-এর কোনো মিল end tag নেই, বা end tag-এর নাম নিকটতম খোলা এলিমেন্টের সঙ্গে মেলে না। রিপোর্ট করা লাইন ও কলাম পড়ুন, তারপর যাচাই করুন প্রতিটি <tag>-এর একটি সংশ্লিষ্ট </tag> আছে এবং tags যে ক্রমে খুলেছে ঠিক তার উল্টো ক্রমে বন্ধ হয় — <a><b></b></a>, কখনো <a><b></a></b> নয়। এছাড়া নিশ্চিত করুন নথিতে ঠিক একটি টপ-লেভেল (root) এলিমেন্ট আছে এবং প্রতিটি attribute মান উদ্ধৃতিতে মোড়া। বৈধ XML beautify করলে এই কাঠামোগত ভুলগুলো অনেক সহজে চোখে পড়ে।

সম্পর্কিত টুল

Sources and standards

This tool follows the published specification for what it does, rather than a hand-written approximation. The references below are the primary documents it implements — each one is the authority for the rules applied on this page.

আরও টুল দেখুন

সব 90টি টুল দেখুন →