XML vs SGML
XML reiškia išplėstinę žymėjimo kalbą. Tai apibrėžta XML 1.0 specifikacijoje, kurią sukūrė W3C (World Wide Web Consortium). XML suteikia standartinį duomenų ir teksto kodavimo būdą, kuris taip pat yra paprastas, tokiu būdu, kad turiniu būtų galima keistis vairuotojo aparatine įranga, operacinėmis sistemomis ir programomis, nedarant žmogaus įsikišimo. SGML (standartinė apibendrinta žymėjimo kalba) yra ISO (Tarptautinės standartizacijos organizacijos) standartas, skirtas dokumento žymėjimo kalbai ar žymų rinkiniui nurodyti. SGML nėra dokumentų kalba, bet dokumentų tipo apibrėžimas (DTD).
XML
XML yra žymėjimo kalba, naudojama duomenims ir tekstui perduoti iš tvarkyklės aparatinės įrangos, operacinių sistemų ir programų su mažai žmogaus įsikišimu. XML pateikia žymas, atributus ir elementų struktūras, kurios gali būti naudojamos teikiant konteksto informaciją. Ši konteksto informacija gali būti panaudota turinio prasmei iššifruoti. Tai leidžia kurti efektyvias paieškos sistemas ir atlikti duomenų gavybą. Be to, tradicinės reliacinės duomenų bazės yra tinkamos kaip XML duomenys, nes jos gali būti suskirstytos į eilutes ir stulpelius, tačiau XML teikia mažiau palaikymo turtingo turinio duomenims, tokiems kaip garso, vaizdo įrašai, sudėtingi dokumentai ir kt. o tai leidžia efektyviau apdoroti užklausas. XML žymės nėra iš anksto apibrėžtos, o vartotojai gali apibrėžti naujas žymas ir dokumentų struktūras. Taip pat naujos interneto kalbos, tokios kaip RSS, „Atom“, SOAP ir XHTM, buvo sukurtos naudojant XML.
SGML
SGML remiasi idėja, kad net jei dokumentą galima atvaizduoti skirtingai, atsižvelgiant į naudojamą išvesties laikmeną, jame yra keletas struktūrinių ir semantinių elementų, kurie nesikeičia atsižvelgiant į tai, kaip jis rodomas. SGML pagrindu sukurti dokumentai gali būti sukurti ne atsižvelgiant į dokumento išvaizdą, kuris gali pakeisti viršvalandžius, bet ir apie dokumento struktūrą. Be to, SGML kompiliatorius gali interpretuoti bet kurį dokumentą naudodamas savo DTD, todėl šie dokumentai suteikia daugiau perkeliamumo. Taip pat dokumentus, pagrįstus SGML, būtų galima lengvai pritaikyti skirtingose laikmenose (pavyzdžiui, spausdinimo laikmenai skirtus dokumentus būtų galima pritaikyti ekrane)..
Kuo skiriasi XML ir SGML?
Nors XML yra žymėjimo kalba, naudojama duomenims ir tekstui perduoti iš tvarkyklės aparatūros, operacinių sistemų ir programų, SGML yra ISO standartas, nurodantis dokumento žymėjimo kalbą ar žymų rinkinį. XML iš tikrųjų yra žymėjimo kalba, pagrįsta SGML. Bet XML nustato tam tikrus apribojimus, kurių nėra SGML. Pavyzdžiui, XML nustato šiuos apribojimus: subjektų nuorodos turi būti uždarytos su REFC atskyrikliu, nuorodos į išorinius duomenų subjektus turinyje neleidžiamos, ženklų nuorodos turi būti uždarytos su REFC atskyrikliu, įvardytos ženklų nuorodos neleidžiamos ir tt Be to, kai kurios konstrukcijos, tokios kaip neuždaromos pradžios žymos, neuždarytos pabaigos žymės, tuščios pradžios žymos, tuščios pabaigos žymės, kurias leidžiama naudoti SGML, kai SHORTTAG yra TAIP, XML neleidžiamos. Be to, XML neleidžiamos kai kurios SGML deklaracijos, tokios kaip DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT ir EXPLICIT) ir kt..