Last Updated: 21 May, 2025

শিরোনাম - XML কী: একটি বিস্তৃত গাইড

XML কী?

XML (এক্সটেনসিবল মার্কআপ ল্যাঙ্গুয়েজ) একটি মার্কআপ ভাষা এবং ফাইল ফরম্যাট, যা ডেটা সংরক্ষণ, প্রেরণ এবং পুনর্গঠন করতে ব্যবহৃত হয়। এটি তথ্য এনকোড করার জন্য একটি গঠিত পদ্ধতি প্রদান করে, যা মানব-পাঠযোগ্য এবং মেশিন-পাঠযোগ্য উভয়ই।

XML এর মূল বৈশিষ্ট্যসমূহ

১. ওপেন স্ট্যান্ডার্ড দ্বারা সংজ্ঞায়িত

  • World Wide Web Consortium (W3C) দ্বারা ১৯৯৮ সালে XML 1.0 Specification অনুযায়ী প্রতিষ্ঠিত।
  • ডেটা গঠিত এবং সহজে ব্যাখ্যা করা যায় তা নিশ্চিত করতে কঠোর নিয়ম অনুসরণ করে।

২. নকশার লক্ষ্যসমূহ

  • XML বিভিন্ন প্ল্যাটফর্মে সরলতা, সাধারণতা এবং ব্যবহারযোগ্যতা বিবেচনা করে ডিজাইন করা হয়েছে।
  • এটি টেক্সট-ভিত্তিক ফরম্যাট ব্যবহার করে, যা পড়া ও সম্পাদনা করা সহজ করে।

৩. ইউনিকোড সমর্থন

  • XML Unicode সমর্থন করে, যা একাধিক ভাষায় টেক্সট সংরক্ষণ ও প্রক্রিয়াকরণ সম্ভব করে।

৪. বহুমুখিতা

  • প্রাথমিকভাবে ডকুমেন্টের জন্য তৈরি হলেও, এখন XML বিভিন্ন ক্ষেত্রের ডেটা উপস্থাপনে ব্যাপকভাবে ব্যবহৃত হয়, যেমন ওয়েব সার্ভিস, API, এবং কনফিগারেশন ফাইল

৫. স্কিমা এবং API

  • XML কাঠামো Document Type Definition (DTD), XML Schema (XSD) অথবা Relax NG ব্যবহার করে সংজ্ঞায়িত করা যায়।
  • বিভিন্ন API, যেমন DOM (Document Object Model) এবং SAX (Simple API for XML), XML প্রক্রিয়াকরণ সক্ষম করে।

৬. XML এর সাধারণ ব্যবহারসমূহ

  • ডেটা বিনিময় বিভিন্ন সিস্টেমের মধ্যে (যেমন, ওয়েব সার্ভিস, API)।
  • সফটওয়্যার অ্যাপ্লিকেশনে কনফিগারেশন ফাইল
  • গঠিত তথ্য সংরক্ষণ (যেমন, RSS ফিড, SVG গ্রাফিক্স, DOCX মত ডকুমেন্ট ফরম্যাট)।
  • ওয়েব ডেভেলপমেন্ট (যেমন, XHTML, SOAP, AJAX-ভিত্তিক অ্যাপ্লিকেশন)।

এখন আপনি জানেন XML কী, এই শুরুকারীদের জন্য উপযোগী গাইডের মাধ্যমে কীভাবে XML ফাইল পড়া এবং সম্পাদনা করা যায় শিখুন।

XML পর্যালোচনা

১. XML এর প্রধান উদ্দেশ্য: সিরিয়ালাইজেশন

XML-এ সিরিয়ালাইজেশন মানে:

  • ডেটা সংরক্ষণ গঠিত ফরম্যাটে।
  • ডেটা প্রেরণ বিভিন্ন সিস্টেমের মধ্যে।
  • ডেটা পুনর্গঠন ব্যবহারযোগ্য রূপে।

যখন দুটি সিস্টেমকে তথ্য বিনিময় করতে হয়, তখন XML আন্তঃপরিচালনীয়তার জন্য একটি মানকীকৃত ফাইল ফরম্যাট প্রদান করে। এটি গঠিত ডেটা বিনিময়ের জন্য একটি “লিঙ্গুয়া ফ্রাঙ্কা” হিসেবে কাজ করে।

২. XML একটি মার্কআপ ভাষা হিসেবে

XML একটি মার্কআপ ভাষা, যার অর্থ এটি:

  • ট্যাগের মাধ্যমে ডেটা লেবেল করে স্পষ্ট গঠন তৈরি করে।
  • হায়ারার্কিক্যালভাবে তথ্য সংগঠিত করে
  • মেটাডেটা দিয়ে ডেটা শ্রেণীবদ্ধ করে

উদাহরণ:

<book>
    <title>XML Basics</title>
    <author>John Doe</author>
</book>

এখানে, <book>, <title>, এবং <author> হল ট্যাগ, যা ডেটা উপাদান সংজ্ঞায়িত করে।

৩. XML স্কিমা (XSD) এবং ভ্যালিডেশন

একটি XML স্কিমা (XSD) XML ডকুমেন্টের গঠনগত নিয়ম সংজ্ঞায়িত করে।

XML ডকুমেন্ট হতে পারে:

  • সঠিক গঠনযুক্ত → মৌলিক সিনট্যাক্স নিয়ম অনুসরণ করে (সঠিক নেস্টিং, সঠিক ক্লোজিং ট্যাগ)।
  • বৈধ → স্কিমা নিয়ম মেনে চলে (আবশ্যিক উপাদান, সঠিক ডেটা টাইপ)।

XSD নিয়মের উদাহরণ:

<xs:element name="title" type="xs:string"/>

এটি নিশ্চিত করে যে <title> অবশ্যই একটি স্ট্রিং মান ধারণ করবে।

৪. XML মিডিয়া টাইপ (RFC 7303)

IETF RFC 7303 ডেটা প্রেরণের জন্য XML মিডিয়া টাইপ সংজ্ঞায়িত করে:

  • application/xml → স্ট্যান্ডার্ড XML ডেটা।
  • application/xml-external-parsed-entity → পার্সড XML এন্টিটি।
  • application/xml-dtd → XML DTD ডকুমেন্ট।

XML-ভিত্তিক ফরম্যাটের জন্য, +xml সাফিক্স ব্যবহার করা হয় (যেমন, image/svg+xml SVG ইমেজের জন্য)।

৫. নেটওয়ার্কড অ্যাপ্লিকেশনে XML (RFC 3470 / IETF BCP 70)

IETF BCP 70 (RFC 3470) নেটওয়ার্ক-ভিত্তিক অ্যাপ্লিকেশনে XML ব্যবহারের সেরা অনুশীলনগুলো নির্ধারণ করে, যা সিস্টেমগুলোর মধ্যে নিরবচ্ছিন্ন ডেটা আন্তঃপরিচালনীয়তা নিশ্চিত করে।


প্রোগ্রাম্যাটিকভাবে XML নিয়ে কাজ করতে, Python, Java, এবং JavaScript এর জন্য সেরা XML পার্সারগুলো অন্বেষণ করুন।

১. XML এর প্রয়োগসমূহ

XML একটি নমনীয় মার্কআপ ভাষা, যা ইন্টারনেটের মাধ্যমে ডেটা বিনিময়ের জন্য ডিজাইন করা হয়েছে। এর সিনট্যাক্স বহু ডকুমেন্ট ফরম্যাট এবং যোগাযোগ প্রোটোকলে প্রভাব ফেলেছে, ফলে এটি বহু শিল্পে মৌলিক প্রযুক্তি হয়ে উঠেছে।

সাধারণ XML-ভিত্তিক ফরম্যাটসমূহ:

  • ওয়েব ফিড: RSS, Atom
  • অফিস ডকুমেন্ট: Office Open XML, OpenDocument
  • গ্রাফিক্স ও 3D মডেল: SVG, COLLADA
  • ওয়েব প্রযুক্তি: XHTML
  • ডেটা এক্সচেঞ্জ প্রোটোকল: SOAP, XMPP
  • AJAX: অ্যাসিঙ্ক্রোনাস ডেটা বিনিময়ের জন্য XML ব্যবহার করে

ইন্ডাস্ট্রি স্ট্যান্ডার্ডে XML ব্যবহার:

  • স্বাস্থ্যসেবা: HL7 (Health Level 7)
  • ভ্রমণ শিল্প: OpenTravel Alliance
  • আর্থিক: FpML (Financial products Markup Language)
  • রিয়েল এস্টেট ও মর্টগেজ: MISMO
  • সরকারি ডেটা এক্সচেঞ্জ: National Information Exchange Model

বিজ্ঞান ক্ষেত্রে XML:

মেটিওরোলজিতে, XML অপারেশনাল আবহাওয়া ডেটা উপস্থাপনের জন্য IWXXM স্ট্যান্ডার্ড অনুসরণ করে ব্যবহৃত হয়। অনুরূপভাবে, Darwin Information Typing Architecture (DITA) একটি XML স্ট্যান্ডার্ড, যা প্রকাশনায় ব্যাপকভাবে ব্যবহৃত হয়।


প্রায়োগিক বাস্তবায়নের জন্য, আমাদের টিউটোরিয়ালটি দেখুন: Python, Java, এবং JavaScript-এ XML কীভাবে পড়া এবং সম্পাদনা করবেন

২. XML এর মূল পরিভাষা

XML-এ মূল পরিভাষা বোঝা কার্যকরভাবে XML ডকুমেন্ট নিয়ে কাজ করার জন্য অত্যন্ত গুরুত্বপূর্ণ।

ক্যারেক্টার

একটি XML ডকুমেন্ট হল Unicode ক্যারেক্টার এর একটি ক্রম। XML 1.1 প্রায় সব Unicode ক্যারেক্টারকে অনুমোদন করে, তবে নাল ক্যারেক্টার (U+0000) কঠোরভাবে নিষিদ্ধ।

প্রসেসর এবং অ্যাপ্লিকেশন

  • XML প্রসেসর (বা পার্সার) XML মার্কআপ পড়ে এবং বিশ্লেষণ করে।
  • অ্যাপ্লিকেশন প্রসেসর থেকে গঠিত ডেটা গ্রহণ করে এবং তা ব্যবহার করে।

মার্কআপ এবং কন্টেন্ট

XML ক্যারেক্টারকে মার্কআপ এবং কন্টেন্ট এ ভাগ করে:

  • মার্কআপ: উপাদান, অ্যাট্রিবিউট এবং এন্টিটি (যেমন, <tag> এবং &amp;) অন্তর্ভুক্ত করে।
  • কন্টেন্ট: উপাদানের মধ্যে থাকা প্রকৃত ডেটা।
  • CDATA সেকশন: এমন টেক্সট যা মার্কআপ হিসেবে পার্স করা উচিত নয়, তা <![CDATA[ ... ]]> দিয়ে ঘেরা থাকে।

ট্যাগ এবং এলিমেন্ট

  • ট্যাগ: < > দিয়ে ঘেরা মার্কআপ গঠন।
    • <section> (শুরু ট্যাগ)
    • </section> (শেষ ট্যাগ)
    • <line-break /> (খালি-এলিমেন্ট ট্যাগ)
  • এলিমেন্ট: ট্যাগ দ্বারা সংজ্ঞায়িত লজিক্যাল কম্পোনেন্ট।
    • উদাহরণ: <greeting>Hello, world!</greeting>

অ্যাট্রিবিউটস

অ্যাট্রিবিউটস নাম-মান জোড়া ব্যবহার করে এলিমেন্টের জন্য মেটাডেটা প্রদান করে। উদাহরণ:

<img src="image.jpg" alt="Description" />
  • src="image.jpg" এবং alt="Description" হল <img> এলিমেন্টের অ্যাট্রিবিউট।

৩. XML-এ ক্যারেক্টার এবং এস্কেপিং

XML-এ বৈধ Unicode ক্যারেক্টার

XML ডকুমেন্ট শুধুমাত্র নির্দিষ্ট Unicode ক্যারেক্টার অনুমোদন করে, যাতে সঠিক পার্সিং নিশ্চিত হয়।

XML 1.0-এ অনুমোদিত ক্যারেক্টার:

  • কন্ট্রোল ক্যারেক্টার:

    • U+0009 (ট্যাব)
    • U+000A (লাইন ফিড)
    • U+000D (ক্যারেজ রিটার্ন)
  • টেক্সট ক্যারেক্টার:

    • U+0020–U+D7FF
    • U+E000–U+FFFD
    • U+10000–U+10FFFF

XML 1.1 উন্নতি:

  • U+0001–U+001F সব কন্ট্রোল ক্যারেক্টার অনুমোদন করে, তবে সেগুলোকে এস্কেপ করতে হয়।
  • U+0000 (নাল ক্যারেক্টার) এখনও নিষিদ্ধ।

৪. XML এনকোডিং

সাধারণ XML এনকোডিং:

XML নিম্নলিখিত Unicode-ভিত্তিক এনকোডিং সমর্থন করে:

  • UTF-8 (প্রস্তাবিত ডিফল্ট)
  • UTF-16 (সব XML পার্সারকে সমর্থন করতে হবে)
  • ASCII, ISO-8859-X (লেগেসি এনকোডিং)

XML-এ এনকোডিং ডিক্লারেশন:

XML হেডার এনকোডিং নির্দিষ্ট করতে পারে:

<?xml version="1.0" encoding="UTF-8"?>
  • যদি কোনো এনকোডিং নির্দিষ্ট না করা হয়, UTF-8 ধরা হয়
  • UTF-16 সঠিক সনাক্তকরণের জন্য একটি BOM (বাইট অর্ডার মার্ক) প্রয়োজন।

৫. XML-এ বিশেষ ক্যারেক্টার এস্কেপিং

XML সিনট্যাক্স কিছু ক্যারেক্টার সংরক্ষণ করে, তাই সেগুলোকে সংঘাত এড়াতে এস্কেপ করতে হয়।

প্রি-ডিফাইন্ড XML এন্টিটিস:

ক্যারেক্টারএস্কেপড ফর্মউদাহরণ
< (কমের চেয়ে)&lt;I &lt;3 XMLI <3 XML
> (বেশির চেয়ে)&gt;x &gt; yx > y
& (অ্যাম্পারস্যান্ড)&amp;AT&amp;TAT&T
' (সিঙ্গেল কোট)&apos;"O&apos;Reilly"O’Reilly
" (ডাবল কোট)&quot;She said &quot;hello&quot;She said “hello”

সংখ্যা ক্যারেক্টার রেফারেন্স:

যে বিশেষ ক্যারেক্টার টাইপ করা যায় না, তার জন্য সংখ্যামূলক রেফারেন্স ব্যবহার করুন:

  • ডেসিমাল:
&#20013;  <!-- Chinese character "中" -->
  • হেক্সাডেসিমাল:
&#x4E2D;  <!-- Chinese character "中" -->
  • উদাহরণ:
<message>I &lt;3 J&#xF6;rg</message>

Displays as: I <3 Jörg

বাইনারি ডেটা হ্যান্ডলিং:

XML কাঁচা বাইনারি ডেটা সমর্থন করে না। এর পরিবর্তে Base64 এনকোডিং ব্যবহার করুন।


৬. XML মন্তব্য

XML মন্তব্যের সিনট্যাক্স:

<!-- This is a valid XML comment -->

XML মন্তব্যের নিয়ম:

  • XML ডিক্লারেশনের আগে উপস্থিত হতে পারে না।
  • মন্তব্যের মধ্যে -- (ডাবল হাইফেন) থাকতে পারে না।
  • মন্তব্যে এন্টিটি রেফারেন্স উপেক্ষা করা হয়।

উদাহরণ:

<!-- This is a comment with < and & symbols -->

উপসংহার

XML গঠিত ডেটা বিনিময়ের জন্য একটি অপরিহার্য প্রযুক্তি, যা ওয়েব ফিড, অফিস ডকুমেন্ট, বৈজ্ঞানিক ডেটা এবং শিল্প মানদণ্ড চালিত করে। মূল XML পরিভাষা, এনকোডিং নিয়ম এবং এস্কেপিং মেকানিজম বোঝা নিশ্চিত করে যে XML ডকুমেন্ট সঠিকভাবে গঠিত এবং বিভিন্ন সিস্টেমে সঠিকভাবে কাজ করে।

ক্যারেক্টার এনকোডিং এবং এস্কেপিং-এ সেরা অনুশীলন অনুসরণ করে, ডেভেলপাররা পার্সিং ত্রুটি এড়াতে এবং সামঞ্জস্যতা নিশ্চিত করতে পারে XML-ভিত্তিক অ্যাপ্লিকেশনে।