XML বনাম SGML
XML মানে এক্সটেনসিবল মার্কআপ ল্যাঙ্গুয়েজ। এটি XML 1.0 স্পেসিফিকেশনে সংজ্ঞায়িত করা হয়েছে, যা W3C (ওয়ার্ল্ড ওয়াইড ওয়েব কনসোর্টিয়াম) দ্বারা তৈরি করা হয়েছে। এক্সএমএল একটি স্ট্যান্ডার্ড উপায় প্রদান করে, যা সহজও, ডেটা এবং টেক্সট এনকোড করার জন্য যাতে বিষয়বস্তুটি ড্রাইভার হার্ডওয়্যার, অপারেটিং সিস্টেম এবং অ্যাপ্লিকেশনগুলিতে সামান্য মানুষের হস্তক্ষেপে আদান-প্রদান করা যায়। SGML (স্ট্যান্ডার্ড জেনারেলাইজড মার্কআপ ল্যাঙ্গুয়েজ) হল একটি ISO (আন্তর্জাতিক অর্গানাইজেশন ফর স্ট্যান্ডার্ডাইজেশন) একটি ডকুমেন্ট মার্কআপ ভাষা বা ট্যাগের সেট নির্দিষ্ট করার জন্য। SGML একটি নথির ভাষা নয় বরং একটি নথির প্রকার সংজ্ঞা (DTD)।
XML
XML হল একটি মার্কআপ ভাষা যা সামান্য মানুষের হস্তক্ষেপে ড্রাইভার হার্ডওয়্যার, অপারেটিং সিস্টেম এবং অ্যাপ্লিকেশনগুলির মধ্যে ডেটা এবং পাঠ্য স্থানান্তর করতে ব্যবহৃত হয়। XML ট্যাগ, বৈশিষ্ট্য এবং উপাদান কাঠামো প্রদান করে যা প্রসঙ্গ তথ্য প্রদান করতে ব্যবহার করা যেতে পারে। এই প্রসঙ্গ তথ্য বিষয়বস্তুর অর্থ ডিকোড করতে ব্যবহার করা যেতে পারে। এটি দক্ষ সার্চ ইঞ্জিন বিকাশ করা এবং ডেটাতে ডেটা মাইনিং করা সম্ভব করে তোলে। উপরন্তু, ঐতিহ্যগত রিলেশনাল ডেটাবেসগুলি XML ডেটা হিসাবে উপযুক্ত কারণ সেগুলি সারি এবং কলামে সংগঠিত হতে পারে কিন্তু XML সমৃদ্ধ সামগ্রী যেমন অডিও, ভিডিও, জটিল নথি ইত্যাদি সহ ডেটার জন্য কম সমর্থন প্রদান করে৷ XML ডাটাবেসগুলি একটি কাঠামোগত, শ্রেণিবদ্ধ আকারে ডেটা সঞ্চয় করে। যা প্রশ্নগুলিকে আরও দক্ষতার সাথে প্রক্রিয়া করার অনুমতি দেয়। XML ট্যাগগুলি পূর্বনির্ধারিত নয় এবং ব্যবহারকারীরা নতুন ট্যাগ এবং নথি কাঠামো সংজ্ঞায়িত করতে পারে। এছাড়াও, নতুন ইন্টারনেট ভাষা যেমন RSS, Atom, SOAP, এবং XHTM XML ব্যবহার করে তৈরি করা হয়েছিল৷
SGML
SGML এই ধারণার উপর ভিত্তি করে তৈরি করা হয়েছে যে যদিও একটি নথি ব্যবহার করা আউটপুট মাধ্যমের উপর নির্ভর করে বিভিন্ন উপস্থিতি সহ প্রদর্শিত হতে পারে, এতে কিছু কাঠামোগত এবং শব্দার্থিক উপাদান রয়েছে যা এটি কীভাবে প্রদর্শিত হয় তার রেফারেন্সে পরিবর্তন হয় না।SGML ভিত্তিক নথিগুলি নথির চেহারা সম্পর্কে চিন্তা না করে তৈরি করা যেতে পারে যা ওভারটাইম পরিবর্তন করতে পারে, তবে নথির কাঠামোর বিষয়ে। আরও, SGML কম্পাইলার তার DTD ব্যবহার করে যেকোনো নথির ব্যাখ্যা করতে পারে, তাই এই নথিগুলি আরও বহনযোগ্যতা প্রদান করে। এছাড়াও, SGML-এর উপর ভিত্তি করে নথিগুলিকে সহজেই বিভিন্ন মিডিয়াতে পুনরায় অভিযোজিত করা যেতে পারে (উদাহরণস্বরূপ, প্রিন্ট মাধ্যমের জন্য অভিপ্রেত নথিটি একটি ডিসপ্লে স্ক্রিনের জন্য রিড্যাপ্ট করা যেতে পারে)।
XML এবং SGML এর মধ্যে পার্থক্য কি?
যদিও XML হল একটি মার্কআপ ভাষা যা ড্রাইভার হার্ডওয়্যার, অপারেটিং সিস্টেম এবং অ্যাপ্লিকেশনগুলির মধ্যে ডেটা এবং পাঠ্য স্থানান্তর করতে ব্যবহৃত হয়, SGML হল একটি ডকুমেন্ট মার্কআপ ভাষা বা ট্যাগগুলির একটি সেট নির্দিষ্ট করার জন্য একটি ISO স্ট্যান্ডার্ড৷ XML আসলে একটি মার্কআপ ভাষা যা SGML এর উপর ভিত্তি করে তৈরি। কিন্তু XML কিছু বিধিনিষেধ আরোপ করে যা SGML-এ নেই। উদাহরণস্বরূপ, XML নিম্নলিখিত বিধিনিষেধ আরোপ করে: সত্তার উল্লেখগুলি অবশ্যই একটি REFC সীমারেখা দিয়ে বন্ধ করতে হবে, বিষয়বস্তুতে বাহ্যিক ডেটা সত্তার উল্লেখ অনুমোদিত নয়, অক্ষর উল্লেখগুলি অবশ্যই একটি REFC সীমারেখা দিয়ে বন্ধ করতে হবে, নামের অক্ষর উল্লেখগুলি অনুমোদিত নয়, ইত্যাদি৷উপরন্তু, কিছু নির্মাণ যেমন আনক্লোজড স্টার্ট-ট্যাগ, আনক্লোজড এন্ড-ট্যাগ, খালি স্টার্ট-ট্যাগ, খালি শেষ-ট্যাগ যা SGML-এ অনুমোদিত যখন SHORTTAG হ্যাঁ হয়, XML-এ অনুমোদিত নয়। উপরন্তু, কিছু SGML ঘোষণা যেমন DATATAG, OMITTAG, RANK, LINK (SIMple, IMPLICIT এবং EXPLICIT) ইত্যাদি XML-এ অনুমোদিত নয়৷