XML vs SGML
XML tähistab laiendatavat märgistuskeelt. See on määratletud XML 1.0 spetsifikatsioonis, mille on välja töötanud W3C (World Wide Web Consortium). XML pakub standardset, samuti lihtsat viisi andmete ja teksti kodeerimiseks nii, et sisu saaks vahetada draiveri riistvara, operatsioonisüsteemide ja rakenduste vahel vähese inimese sekkumisega. SGML (Standard Generalized Markup Language) on ISO (International Organisation for Standardization) standard dokumendi märgistuskeele või siltide komplekti määramiseks. SGML ei ole dokumendikeel, vaid dokumenditüübi definitsioon (DTD).
XML
XML on märgistuskeel, mida kasutatakse andmete ja teksti edastamiseks draiveri riistvara, operatsioonisüsteemide ja rakenduste vahel vähese inimese sekkumisega. XML pakub silte, atribuute ja elementide struktuure, mida saab kasutada kontekstiteabe edastamiseks. Seda kontekstiteavet saab kasutada sisu tähenduse dekodeerimiseks. See võimaldab arendada tõhusaid otsingumootoreid ja teostada andmete kaevandamist. Lisaks sobivad XML-andmetena traditsioonilised relatsiooniandmebaasid, kuna neid saab korraldada ridadesse ja veergudesse, kuid XML pakub vähem tuge rikkaliku sisuga andmetele, nagu heli, video, keerulised dokumendid jne. XML-andmebaasid salvestavad andmeid struktureeritud hierarhilisel kujul. mis võimaldab päringuid tõhusam alt töödelda. XML-sildid ei ole eelnev alt määratletud ja kasutajad saavad määrata uusi silte ja dokumendistruktuure. Samuti loodi XML-i abil uued Interneti-keeled, nagu RSS, Atom, SOAP ja XHTM.
SGML
SGML põhineb ideel, et kuigi dokumenti saab sõltuv alt kasutatavast väljundkandjast kuvada erineva välimusega, sisaldab see mõningaid struktuurseid ja semantilisi elemente, mis ei muutu sõltuv alt sellest, kuidas seda kuvatakse. SGML-põhiseid dokumente saab luua, muretsemata dokumendi välimuse pärast, mis võib aja jooksul muutuda, kuid muretsemata dokumendi struktuuri pärast. Lisaks saab SGML-i kompilaator oma DTD-d kasutades tõlgendada mis tahes dokumente, seega pakuvad need dokumendid suuremat kaasaskantavust. Samuti saab SGML-il põhinevaid dokumente hõlpsasti erinevatele andmekandjatele kohandada (näiteks prindikandjale mõeldud dokumente saab kohandada ekraanikuva jaoks).
Mis vahe on XML-il ja SGML-il?
Kui XML on märgistuskeel, mida kasutatakse andmete ja teksti edastamiseks draiveri riistvara, operatsioonisüsteemide ja rakenduste vahel, siis SGML on ISO standard dokumendi märgistuskeele või siltide komplekti määramiseks. XML on tegelikult märgistuskeel, mis põhineb SGML-il. Kuid XML seab mõned piirangud, mida SGML-is ei ole. Näiteks XML seab järgmised piirangud: olemiviited tuleb sulgeda REFC eraldajaga, sisus olevatele välistele andmeolemitele viitamine ei ole lubatud, märgiviited tuleb sulgeda REFC eraldajaga, nimelised märgiviited ei ole lubatud jne. Lisaks ei ole XML-is lubatud mõned konstruktsioonid, nagu sulgemata algussildid, sulgemata lõpumärgendid, tühjad algussildid, tühjad lõpumärgendid, mis on SGML-is lubatud, kui SHORTTAG on JAH. Lisaks ei ole XML-is lubatud mõned SGML-deklaratsioonid, nagu DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT ja EXPLICIT) jne.