XML pret SGML
XML apzīmē paplašināmās iezīmēšanas valodu. Tas ir definēts XML 1.0 specifikācijā, ko izstrādājis W3C (World Wide Web Consortium). XML nodrošina standarta veidu, kas ir arī vienkāršs, lai kodētu datus un tekstu tā, lai saturu varētu apmainīties starp draiveru aparatūru, operētājsistēmām un lietojumprogrammām bez cilvēka iejaukšanās. SGML (standarta vispārinātā iezīmēšanas valoda) ir ISO (Starptautiskā standartizācijas organizācija) standarts dokumenta iezīmēšanas valodas vai tagu kopas noteikšanai. SGML nav dokumenta valoda, bet gan dokumenta tipa definīcija (DTD).
XML
XML ir iezīmēšanas valoda, kas tiek izmantota datu un teksta pārsūtīšanai starp draivera aparatūru, operētājsistēmām un lietojumprogrammām bez cilvēka iejaukšanās. XML nodrošina tagus, atribūtus un elementu struktūras, ko 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, lai gan dokumentu var attēlot ar dažādu izskatu atkarībā no izmantotā izvades datu nesēja, tajā ir daži strukturāli un semantiski elementi, kas nemainās atkarībā no tā, kā tas tiek parādīts. Uz SGML balstītus dokumentus var izveidot, neuztraucoties par dokumenta izskatu, kas var mainīties laika gaitā, bet gan par dokumenta struktūru. Turklāt SGML kompilators var interpretēt jebkuru dokumentu, izmantojot tā DTD, tāpēc šie dokumenti nodrošina lielāku pārnesamību. Turklāt dokumentus, kuru pamatā ir SGML, var viegli pielāgot dažādiem datu nesējiem (piemēram, dokumentu, kas paredzēts drukāšanai, var pielāgot displeja ekrānam).
Kāda ir atšķirība starp XML un SGML?
Lai gan 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 dokumenta iezīmēšanas valodas vai tagu kopas noteikšanai. XML faktiski ir iezīmēšanas valoda, kuras pamatā ir SGML. Bet XML nosaka dažus ierobežojumus, kas nav SGML. Piemēram, XML uzliek šādus ierobežojumus: entītiju atsauces ir jāaizver ar REFC norobežotāju, nav atļautas atsauces uz ārējām datu entītijām saturā, rakstzīmju atsauces ir jāaizver ar REFC norobežotāju, nosauktas rakstzīmju atsauces nav atļautas utt. Turklāt dažas konstrukcijas, piemēram, neslēgti sākuma tagi, neaizvērti beigu tagi, tukši sākuma tagi, tukši beigu tagi, kas ir atļauti SGML, ja SHORTTAG ir YES, nav atļauti XML. Turklāt dažas SGML deklarācijas, piemēram, DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT un EXPLICIT) utt., nav atļautas XML.