XML vs SGML
XML ნიშნავს გაფართოებულ მარკირების ენას. ის განსაზღვრულია XML 1.0 სპეციფიკაციაში, რომელიც შემუშავებულია W3C (World Wide Web Consortium) მიერ. XML უზრუნველყოფს სტანდარტულ გზას, რომელიც ასევე მარტივია, მონაცემთა და ტექსტის დაშიფვრისთვის ისე, რომ შინაარსის გაცვლა შესაძლებელი იყოს დრაივერის აპარატურაზე, ოპერაციულ სისტემებსა და აპლიკაციებში, ადამიანის მცირე ჩარევით. 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 არის YES, დაუშვებელია XML-ში. გარდა ამისა, ზოგიერთი SGML დეკლარაცია, როგორიცაა DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT და EXPLICIT) და ა.შ. დაუშვებელია XML-ში.