Atšķirība starp XML un SGML

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ājis W3C (World Wide Web Consortium). XML nodrošina standarta un arī vienkāršu datu un teksta kodēšanas veidu, ar kura palīdzību saturu var apmainīties ar draiveru aparatūru, operētājsistēmām un lietojumprogrammām ar nelielu cilvēka iejaukšanos. SGML (standarta vispārinātā iezīmēšanas valoda) ir ISO (Starptautiskās standartizācijas organizācijas) standarts, kas norāda dokumenta iezīmēšanas valodu vai tagu kopu. SGML nav dokumentu valoda, bet gan dokumenta veida definīcija (DTD).

XML

XML ir iezīmēšanas valoda, kuru izmanto, lai pārsūtītu datus un tekstu no draivera aparatūras, 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, lai sniegtu konteksta informāciju. Šo konteksta informāciju var izmantot, lai atšifrētu satura nozīmi. Tas ļauj attīstī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š noteikti, 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, kaut arī dokumentu var attēlot ar atšķirīgu izskatu atkarībā no izmantotās izvades vides, tajā ir daži strukturāli un semantiski elementi, kas nemainās attiecībā uz tā parādīšanas veidu. Uz SGML balstītus dokumentus var izveidot, nerunājot 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 viegli pielāgot dažādiem datu nesējiem (piemēram, drukas videi paredzētos dokumentus var atkārtoti pielāgot displeja ekrānam).

Kāda ir atšķirība starp XML un SGML?

Kaut arī XML ir iezīmēšanas valoda, ko izmanto datu un teksta pārsūtīšanai starp draiveru aparatūru, operētājsistēmām un lietojumprogrammām, SGML ir ISO standarts, lai norādītu dokumentu 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 neietilpst SGML. Piemēram, XML uzliek šādus ierobežojumus: entītiju atsauces ir jāslēdz ar REFC norobežotāju, atsauces uz ārējiem datu subjektiem saturā nav atļautas, rakstzīmju atsauces jāslēdz ar REFC norobežotāju, nosaukto rakstzīmju atsauces nav atļautas utt. Turklāt dažas konstrukcijas, piemēram, neaizvērti sākuma tagi, neaizvērti gala tagi, tukši sākuma tagi, tukši gala tagi, kas ir atļauti SGML, ja SHORTTAG ir JĀ, nav atļauti XML. XML nav atļautas arī dažas SGML deklarācijas, piemēram, DATATAG, OMITTAG, RANK, LINK (VIENKĀRŠI, IMPLICIT un EXPLICIT) utt..