XML vs SGML
XML nozīmē paplašināmo iezīmēšanas valodu. Tas ir definēts XML 1.0 specifikācijā, kuru izstrādājusi W3C (World Wide Web Consortium). XML nodrošina standarta un vienkāršu veidu, kā kodēt datus un tekstu tā, lai ar nelielu cilvēka iejaukšanos saturu varētu apmainīties starp draivera aparatūru, operētājsistēmām un lietojumprogrammām. SGML (Standard Generalized Markup Language) ir ISO (Starptautiskā standartizācijas organizācija) standarts, lai norādītu dokumenta iezīmēšanas valodu vai tagu kopu. SGML nav dokumenta valoda, bet gan dokumenta tipa definīcija (DTD).
XML
XML ir iezīmēšanas valoda, ko izmanto datu un teksta pārsūtīšanai starp draivera aparatūru, operētājsistēmām un lietojumprogrammām ar nelielu cilvēka iejaukšanos. XML nodrošina tagus, atribūtus un elementu struktūras, kuras var izmantot konteksta informācijas sniegšanai. Šo konteksta informāciju var izmantot, lai atšifrētu satura nozīmi. Tas ļauj izstrādāt efektīvas meklētājprogrammas un veikt datu ieguvi. Turklāt tradicionālās relāciju datu bāzes ir piemērotas kā XML dati, jo tās var sakārtot rindās un kolonnās, bet XML nodrošina mazāku atbalstu datiem ar bagātīgu saturu, piemēram, audio, video, sarežģītiem dokumentiem utt. XML datu bāzes glabā datus strukturētā, hierarhiskā formā kas ļauj efektīvāk apstrādāt vaicājumus. XML tagi nav iepriekš definēti, un lietotāji var definēt jaunus tagus un dokumentu struktūras. Izmantojot XML, tika izveidotas arī jaunas interneta valodas, piemēram, RSS, Atom, SOAP un XHTM.
SGML
SGML pamatā ir ideja, ka, pat ja dokumentu var parādīt ar dažādu izskatu, atkarībā no izmantotās izvades vides, tajā ir daži strukturāli un semantiski elementi, kas nemainās, ņemot vērā to, kā tas tiek parādīts. Uz SGML balstītus dokumentus var izveidot, neuztraucoties par dokumenta izskatu, kas var mainīt virsstundas, bet gan par dokumenta struktūru. Turklāt SGML kompilators var interpretēt jebkuru dokumentu, izmantojot savu DTD, tāpēc šie dokumenti nodrošina lielāku pārnesamību. Arī dokumentus, kuru pamatā ir SGML, varētu viegli pielāgot dažādiem datu nesējiem (piemēram, dokumentu, kas paredzēts drukas videi, varētu atkārtoti pielāgot displeja ekrānam).
Kāda ir atšķirība starp XML un SGML?
Kamēr XML ir iezīmēšanas valoda, ko izmanto datu un teksta pārsūtīšanai starp draivera aparatūru, operētājsistēmām un lietojumprogrammām, SGML ir ISO standarts, lai norādītu dokumenta iezīmēšanas valodu vai tagu kopu. XML faktiski ir iezīmēšanas valoda, kuras pamatā ir SGML. Bet XML uzliek dažus ierobežojumus, kas nav SGML. Piemēram, XML nosaka šādus ierobežojumus: entītiju atsauces ir jāaizver ar REFC atdalītāju, atsauces uz ārējām datu entītijām saturā nav atļautas, rakstzīmju atsauces jāaizver ar REFC atdalītāju, nosaukto rakstzīmju atsauces nav atļautas utt. Turklāt daži struktūras, piemēram, neslēgti sākuma tagi, neslēgti beigu tagi, tukši sākuma tagi, tukši beigu tagi, kas ir atļauti SGML, kad SHORTTAG ir JĀ, XML nav atļauts. Turklāt dažas SGML deklarācijas, piemēram, DATATAG, OMITTAG, RANK,XML formātā nav atļauta saite (VIENKĀRŠI, IMPLICITI un EXPLICIT) utt.