XML ফরম্যাটার
কনফিগারেশন
ইনডেন্টেশন
মিনিফাই
ফাঁকা স্থান ও মন্তব্য সরান
অ্যাট্রিবিউটগুলো নতুন লাইনে রাখুন
অ্যাট্রিবিউটগুলো নতুন লাইনে রাখা হবে কি না
মন্তব্য সংরক্ষণ করুন
ইনপুট
আউটপুট
প্রযুক্তিগত বিবরণ
XML ফরম্যাটার কীভাবে কাজ করে
টুলটি কী করে
XML ফরম্যাটার হলো একটি ডেভেলপার ইউটিলিটি, যা আনফরম্যাটেড বা মিনিফাইড XML ডকুমেন্টকে পাঠযোগ্য, একরূপ ইন্ডেন্ট করা স্ট্রাকচারে রূপান্তর করে। এটি XML সিনট্যাক্স পার্স করে, well-formedness ভ্যালিডেট করে, এবং সঠিক ইন্ডেন্টেশন ও লাইন ব্রেকসহ এলিমেন্টগুলো পুনরায় ফরম্যাট করে। টুলটি XML beautifier এবং XML prettifier—দুইভাবেই কাজ করে, ফলে কমপ্যাক্ট এক-লাইনের ডকুমেন্টগুলো পাঠযোগ্য হয়। যখন আপনাকে অনলাইনে xml ফরম্যাট করতে হয়, এই ব্রাউজার-ভিত্তিক টুল তাৎক্ষণিক ফল দেয়। এটি XML declaration, processing instruction, comment, CDATA section, এবং স্ট্যান্ডার্ড এলিমেন্ট হায়ারার্কি হ্যান্ডেল করে। এটি বিভিন্ন ইন্ডেন্টেশন লেভেল (2 স্পেস, 4 স্পেস, বা ট্যাব) দিয়ে XML ফরম্যাট করতে পারে এবং অপ্রয়োজনীয় হোয়াইটস্পেস সরিয়ে XML মিনিফাইও করতে পারে। ফরম্যাটারটি well-formedness চেক (XML linting) করে—সঠিক nesting, closing tag, এবং attribute quoting নিশ্চিত করে—যা ডেভেলপারদের দ্রুত সিনট্যাক্স এরর শনাক্ত করতে সাহায্য করে।
ডেভেলপারদের সাধারণ ব্যবহারক্ষেত্র
ডেভেলপাররা কনফিগারেশন ফাইল, API রেসপন্স, ডেটা এক্সচেঞ্জ ফরম্যাট, বা XML-ভিত্তিক ডকুমেন্ট স্ট্রাকচার নিয়ে কাজ করার সময় XML ফরম্যাটার ব্যবহার করেন। XML ডকুমেন্ট ফরম্যাট করলে জটিল নেস্টেড স্ট্রাকচার বোঝা, missing closing tag শনাক্ত করা, বা parsing error ডিবাগ করা সহজ হয়। অনেক ডেভেলপার xml pretty print করতে XML ফরম্যাটার ব্যবহার করেন, বিশেষ করে SOAP রেসপন্স, RSS ফিড, বা Java প্রজেক্টে ব্যবহৃত (pom.xml) কিংবা .NET অ্যাপ্লিকেশনের (app.config, web.config) মতো XML-ভিত্তিক কনফিগ ফাইল পরিদর্শনের সময়। কোড রিভিউতেও টুলটি মূল্যবান, কারণ ফরম্যাট করা XML স্ট্রাকচারাল সমস্যা বা অসামঞ্জস্য সহজে ধরতে সাহায্য করে। ডকুমেন্টেশনের জন্য XML ডকুমেন্ট প্রস্তুত করতে বা XML এবং JSON-এর মতো অন্যান্য ফরম্যাটের মধ্যে কনভার্ট করার সময়ও XML ফরম্যাটার সহায়তা করে।
ডেটা ফরম্যাট, টাইপ বা ভ্যারিয়েন্ট
XML ফরম্যাটারগুলো স্ট্যান্ডার্ড XML সিনট্যাক্স (সাধারণত XML 1.0) হ্যান্ডেল করে, যার মধ্যে এলিমেন্ট, অ্যাট্রিবিউট, namespace, এবং processing instruction অন্তর্ভুক্ত। টুলটি XML declaration, DOCTYPE declaration, এবং CDATA section সংরক্ষণ করে, যেগুলোতে unparsed character data থাকে। এটি XHTML, SVG, MathML, বা কাস্টম XML schema-এর মতো বিভিন্ন XML-ভিত্তিক ফরম্যাট ফরম্যাট করে। ফরম্যাটারটি বিভিন্ন ইন্ডেন্টেশন স্টাইল হ্যান্ডেল করতে পারে এবং জটিল এলিমেন্টে ভালো পাঠযোগ্যতার জন্য অ্যাট্রিবিউটগুলো নতুন লাইনে রাখতে পারে। উদাহরণস্বরূপ, এমন একটি মিনিফাইড XML ডকুমেন্ট:
<catalog><book id="1" title="Guide" author="John"><price>44.95</price></book></catalog>
সঠিক ইন্ডেন্টেশনসহ ফরম্যাট হয়ে যায়:
<catalog>
<book id="1" title="Guide" author="John">
<price>44.95</price>
</book>
</catalog>এজ কেসগুলোর মধ্যে রয়েছে মিশ্র কনটেন্টসহ XML (একসাথে টেক্সট ও এলিমেন্ট), নেমস্পেসযুক্ত এলিমেন্ট, এবং এমবেডেড স্ক্রিপ্ট বা স্টাইলশিটসহ XML ডকুমেন্ট। এই ফরম্যাটারটি মূলত well-formedness যাচাই এবং স্ট্রাকচার ফরম্যাটিং-এর ওপর ফোকাস করে। কিছু ফরম্যাটার DTD বা XML স্কিমার বিপরীতে ভ্যালিডেট করতে পারে, তবে তার জন্য বেসিক ফরম্যাটিং-এর বাইরে অতিরিক্ত ভ্যালিডেশন টুল দরকার।
সাধারণ ভুল ও এজ কেস
XML ফরম্যাটারগুলো এমন malformed XML নিয়ে সমস্যায় পড়তে পারে যেখানে ক্লোজ না করা ট্যাগ, মিসম্যাচড কোট, বা অবৈধ ক্যারেক্টার থাকে। কমেন্ট এবং প্রসেসিং ইনস্ট্রাকশন সঠিকভাবে সংরক্ষণ করতে হবে, কারণ কিছু ফরম্যাটার এগুলো ভুলভাবে হ্যান্ডেল করতে পারে। গুরুত্বপূর্ণ হোয়াইটস্পেসসহ XML (যেমন XHTML-এর pre এলিমেন্টে) অর্থবহ স্পেস মুছে না ফেলতে সতর্কভাবে হ্যান্ডেল করা দরকার। কিছু ফরম্যাটার XML নেমস্পেস ভুলভাবে হ্যান্ডেল করতে পারে, বিশেষ করে যখন ডিফল্ট নেমস্পেস জড়িত থাকে। CDATA সেকশনগুলো ঠিক যেমন আছে তেমনই সংরক্ষণ করতে হবে, কারণ এগুলোতে unparsed ডেটা থাকে। ডেভেলপারদের নিশ্চিত করা উচিত যে ফরম্যাটিং XML-এর সেমান্টিক্স পরিবর্তন করছে না, বিশেষ করে মিশ্র কনটেন্ট বা হোয়াইটস্পেস-সেনসিটিভ XML-এর ক্ষেত্রে। বড় XML ডকুমেন্ট ব্রাউজার-ভিত্তিক ফরম্যাটারে পারফরম্যান্স সমস্যা তৈরি করতে পারে, এবং গভীরভাবে নেস্টেড স্ট্রাকচার ফরম্যাটেড হলেও পড়তে কঠিন হতে পারে।
কোডের বদলে কখন এই টুল ব্যবহার করবেন
দ্রুত ডকুমেন্ট ফরম্যাটিং, একবারের কাজ, বা আপনার ডেভেলপমেন্ট এনভায়রনমেন্টের বাইরে কাজ করার সময় ব্রাউজার-ভিত্তিক XML ফরম্যাটার ব্যবহার করুন। এটি লগ, API রেসপন্স, বা শেয়ার্ড কনফিগারেশন ফাইলে পাওয়া XML ফরম্যাট করার জন্য আদর্শ। প্রোডাকশন কোডের জন্য IDE-তে ইন্টিগ্রেটেড ফরম্যাটার, কমান্ড-লাইন ফরম্যাটার, বা বিল্ড প্রক্রিয়ার সময় ফরম্যাট করতে পারে এমন XML প্রসেসিং লাইব্রেরি ব্যবহার করুন। XML এডিটিং টুলগুলোতে প্রায়ই বিল্ট-ইন ফরম্যাটার থাকে যা আপনার নির্দিষ্ট XML স্কিমা বুঝতে পারে। ব্রাউজার টুলগুলো ad-hoc ফরম্যাটিং এবং well-formedness চেক-এ দারুণ, আর কোড-ভিত্তিক সমাধানগুলো কনসিস্টেন্সি, অটোমেশন, এবং ভার্সন কন্ট্রোল ও CI/CD পাইপলাইনের সাথে ইন্টিগ্রেশন দেয়। বড় কোডবেসের জন্য, স্বয়ংক্রিয় XML ফরম্যাটিং সব XML ডকুমেন্ট এবং কনফিগারেশন ফাইলে একরকম স্টাইল নিশ্চিত করে।