এক্সএমএল কি?
XML (এক্সএমএল) এর অর্থ হল eXtensive Markup Language. এটা এইচটিএমএল এর মত একটা মার্কআপ ল্যাংগুয়েজ তবে কাজ ভিন্ন। এইচটিএমএল এর মত এখানেও এলিমেন্ট আছে, এট্রিবিউট আছে এগুলি ব্যবহার করে একটা এক্সএমএল ডকুমেন্ট তৈরী করা হয়। তবে এইচটিএমএল এ এলিমেন্ট/ট্যাগ নির্দিষ্ট করা (যেমন body, h1, p ইত্যাদি) আর এক্সএমএল (xml) এ নিজের ইচ্ছেমত এলিমেন্ট/ট্যাগ বানানো যায়। এইচটিএমএল এর সাথে এক্সএমএল এর বড় একটা পার্থক্য হচ্ছে এক্সএমএল এ এট্রিবিউট দিয়ে এলিমেন্টের ভিতর কি ডেটা আছে সেটা বর্ননা করা যায়, এইচটিএমএল এ এমন সুবিধা নেই। তাছাড়া এইচটিএমএল বানানো হয়েছে ব্রাউজারে প্রদর্শনের জন্য আর এক্সএমএল মুলত বানানো হয়েছে ডেটা ধরে রাখা এবং এই ডেটা অন্য সিস্টেমের সাথে আদান প্রদানের জন্য।
এক্সএমএল কেন শিখতে হবে?
এক্সেএমএল দিয়ে প্রচুর কাজ হয় ওয়েব জগতে। কয়েকটি নিচে বর্ননা করা হল
==> ধরুন আপনার সাইটে কোন বিখ্যাত অনলাইন পত্রিকার শিরোনামগুলি একদিকে দেখাতে চান। সেই বিখ্যাত পত্রিকার শিরোনাম তো তাদের ডেটাবেসে আছে এবং সেখান থেকে তারা তাদের সাইটে দেখায়, আপনি তো তাদের ডেটাবেসে একসেস করে তাদের ডেটা আনতে পারবেন না। এমনাবস্থায় সেই সাইটের খবরের/শিরোনামের যদি কোন এক্সএমএল ফরমেট থাকে তাহলে সেই এক্সএমএল থেকে ডেটা নিয়ে আপনার সাইটে শিরোনামগুলি দেখাতে পারবেন। rss, atom এগুলির নাম শুনেছেন তো? এগুলি হচ্ছে কোন সাইটের এক্সএমএল ফরমেটের ডেটা।
==> এক্সএমএল দিয়ে ডেটাবেসের কাজ হয়। জুমলা এবং এছাড়া অনেক এপ্লিকেশনে এক্সএমএল ব্যবহার করে ডেটা ধরে রাখে। এই ডেটা তুলে এনে এপ্লিকেশনের যেকোন জায়গায় দেখানো যায়। যেমন জুমলাতে এক্সটেনশনগুলির অপশন যেটা ব্যাকইন্ড থেকে পরিবর্তন করা যায় এগুলি সব অপশন এক্সএমএল ফাইলে থাকে।
==> যেকোন সিস্টেম/এপ্লিকেশন এক্সএমএল বর্তমানে পড়তে/চিনতে পারে, ফলে এক্সএমএল বর্তমানে ওয়েব জগতে এপ্লিকেশন/সিস্টেমগুলির জন্য একটা ভাষা হয়ে গেছে।
এছাড়া আরো অনেক কাজ হয় এক্সএমএল দিয়ে। এক্সএমএল শিখলে আপনি অন্য সাইটের বিভিন্ন ডেটা আপনার সাইটে দেখাতে পারেন আবার আপনার সাইটের কোন ডেটা যদি অন্য কাউকে দিতে চান তাহলে আপনার ঐ ডেটাগুলির একটা এক্সএমএল ফরমেট বানিয়ে সেটার ঠিকানা দিয়ে রাখলে সেটা দিয়ে অন্যরা আপনার সাইটের ডেটা ব্যবহার করতে পারবে।
এই লিংকে গিয়ে রাইট বাটন ক্লিক করে "View Source" দিয়ে দেখুন এটা একটা এক্সএমএল ডকুমেন্ট।
পিএইচপি সহ সব ল্যাংগুয়েজেই এক্সএমএল একসেস করার অনেক ফাংশন ইত্যাদি আছে। এসব ব্যবহার করে এই ফিডের এক্সএমএল কে যেকোনভাবে সাইটে বা অন্য কোথাও প্রদর্শন করাতে পারেন। আমাদের সাইটের হোমপেজে দেখুন "সর্বশেষ ফোরাম পোস্ট" একটা মডিউল আছে ডানদিকে সেখানে ফোরাম থেকে সর্বশেষ ৫টি পোস্ট দেখাচ্ছে। আমরা উপরের লিংক (ঐ লিংকে যে এক্সএমএল ডেটা আছে) ব্যবহার করে জুমলার ফ্রেমওয়ার্ক তথা পিএইচপি দিয়ে ডেটা গুছিয়ে সুন্দরভাবে পোস্টেগুলির শিরোনাম এবং বর্ননা (টুলটিপে) দেখাচ্ছি।
এক্সএমএল এর আরেকটি বড় সুবিধা হচ্ছে ডেটাগুলি বর্ননামূলক। যেমন নিচের এইচটিএমএল কোড দেখুন
01.<!DOCTYPE html>02.<html>03.<head>04.<title>XML</title>05.</head>06.<body>07.<h2>Professional PHP6</h2> 08.<p>wrox publication</p>09.</body>10.</html>এখানে বইয়ের নাম এবং সেই বইয়ের পাবলিকেশনের নাম দিয়েছি। এটা আমাকে বলে দিতে হল যে h2 এর ভিতরে যেটা আছে সেটা একটা বই আর p এর ভিতরের টা হচ্ছে পাবলিকেশনের নাম। এই একই জিনিস এক্সএমএল এ দেখুন কোড দেখেই বোঝা যাবে কি আছে সেখানে
1.<?xml version="1.0" encoding="UTF-8"?>2.<books>3.<name>Professional PHP6</name>4.<publication>wrox publication</publication>5.</books>দেখুন ইচ্ছেমত ট্যাগের নাম দিয়েছি। এছাড়া এসব ট্যাগে প্রয়োজনীয় এট্রিবিউট সেট করে ডেটাকে আরো বোধগম্য করা যায়। উপরের xml কোড দেখেই বোঝা যাচ্ছে এখানে বই এবং তার পাবলিকেশনের নাম আছে, আমাদের বোঝা না বোঝা গুরত্বপূর্ন নয়। যেকোন এপ্লিকেশন/মেশিন/সিস্টেমের জন্য ডেটা বোঝা খুব গুরত্বপূর্ন।
** বিভিন্ন সাইটে নানান ধরনের ওয়েব সেবা (Web Service) থাকে, এসব সার্ভিস এক্সএমএল ফরমেটে থাকে এবং আপনার ল্যাংগুয়েজ ব্যবহার করে এসব এক্সএমএল ডেটা প্রসেস করে নিজের এপ্লিকেশনের জন্য ব্যবহার করতে পারবেন।
কোন মন্তব্য নেই:
একটি মন্তব্য পোস্ট করুন