এক্সটেনসিভ মার্কআপ ল্যাংগুয়েজ
এক্সটেনসিভ মার্কআপ ল্যাংগুয়েজ বা XML একটি সাধারণ ব্যবহার উপযোগী মার্কআপ ল্যাংগুয়েজ, যা দ্বারা বিভিন্ন ধরনের ডাটা বর্নণা করা যায়। মুলত, XML হলো ডাটা বর্ণনা করার একটি মাধ্যম। এটি স্ট্যান্ডার্ড জেনারেল মার্কআপ ল্যাংগুয়েজের (SGML) সরল সাবসেট। XML এর মৌলিক ইউনিট হলো ক্যারেকটার। এই অক্ষর গুলো অবশ্যই ইউনির্ভাসাল ক্যারেকটার সেটের (UTF ) অন্তর্ভুক্ত হতে হবে। XML ফাইলে সকল তথ্য টেক্সট আকারে থাকে। আর টেক্সটের ফাঁকে থাকে মার্কআপ ল্যাংগুয়েজ, যা বিভিন্ন তথ্যগুলোকে আলাদা করে। এই মার্কআপ গুলোই XML ফাইলের ট্রি কাঠামো দান করে, যেখানে প্রতিটি নোডের এক বা একাধিক নিজস্ব বৈশিষ্ট্য থাকতে পারে। XML ফাইল একটি ডাটাবেসের মত ডাটাকে সংরক্ষণ করে। XML-এর প্রধান কাজ হল বিভিন্ন সিস্টেমের মধ্যে তথ্য আদান প্রদানকে সহজ করা, বিশেষ করে যেসব সিস্টেম ইন্টারনেট দ্বারা সংযুক্ত। XML ফাইলের একটা উদাহরণ এখানে দেয়া যেতে পারে। <শ্রেণী> <ছাত্র আইডি="1"> <নাম>মোহন মিয়া</নাম> <জন্মতারিখ>12-12-1988</জন্মতারিখ> <ঠিকানা> <গ্রাম>চানতলা</গ্রাম> <ডাকঘর>বকুলগর</ডাকঘর> <থানা>বকুলগর</থানা> <জেলা>কুমিল্লা</জেলা> </ঠিকানা> </ছাত্র> <ছাত্র আইডি="2"> <নাম>জরিনা বিবি</নাম> <জন্মতারিখ>16-09-1992</জন্মতারিখ> <ঠিকানা> <গ্রাম>মধুপুর</গ্রাম> <ডাকঘর>সুখতলী</ডাকঘর> <থানা>সুখতলী</থানা> <জেলা>দিনাজপুর</জেলা> </ঠিকানা> </ছাত্র> </শ্রেণী> এখানে একটি শ্রেণী নোডের চাইল্ড হিসেবে আছে দুটি ছাত্র নোড। প্রতিটি ছাত্র নোডের আবার একাধিক চাইল্ড নোড আছে। যেমন, নাম একটি চাইল্ড নোড। ছাত্র নোডের একটি অ্যাট্রিবিউট আছে: আইডি। একটি ভ্যালিড XML ফাইলের বৈশিষ্ট্য হচ্ছে: 1। এর প্রতিটি ট্যাগ অবশ্যই একটি ক্লোজিং ট্যাগ দিয়ে শেষ হবে। ক্লোজিং ট্যাগের নাম হবে ওপেনিং ট্যাগের নামের আগে একটি "/" যোগ করে। যেমন, <ছাত্র> ট্যাগটি </ছাত্র> ট্যাগ দিয়ে শেষ হবে। 2। আর প্রতিটি অ্যাট্রিবিউট ডাবল কোটেশনে বন্ধ থাকতে হবে। যেমন: আইডি="1"। 3। এবং একাধিক নোড ওভারল্যাপ করতে পারবে না, হয় একটি নোড সম্পূর্ণ অন্য একটি নোডের অভ্যন্তরে থাকবে, অথবা সম্পূর্ণ বাইরে থাকবে। আংশিক ভেতরে ও আংশিক বাইরে থাকতে পারবে না।