XML vs SGML
Ang XML ay nangangahulugang EXtensible Markup Language. Ito ay tinukoy sa XML 1.0 na detalye, na binuo ng W3C (World Wide Web Consortium). Ang XML ay nagbibigay ng karaniwang paraan, na simple din, upang mag-encode ng data at teksto upang ang nilalaman ay maaaring palitan sa hardware ng driver, operating system at mga application na may kaunting interbensyon ng tao. Ang SGML (Standard Generalized Markup Language) ay isang pamantayang ISO (International Organization for Standardization) para sa pagtukoy ng isang markup language ng dokumento o isang set ng mga tag. Ang SGML ay hindi isang wika ng dokumento ngunit isang Document Type Definition (DTD).
XML
Ang XML ay isang markup language na ginagamit upang maglipat ng data at text sa pagitan ng hardware ng driver, operating system at mga application na may kaunting interbensyon ng tao. Ang XML ay nagbibigay ng mga tag, katangian at istruktura ng elemento na maaaring magamit upang magbigay ng impormasyon sa konteksto. Ang impormasyon sa konteksto na ito ay maaaring gamitin upang i-decode ang kahulugan ng nilalaman. Ginagawa nitong posible na bumuo ng mga mahusay na search engine at magsagawa ng data mining sa data. Higit pa rito, ang mga tradisyunal na relational database ay angkop bilang XML data dahil maaaring ayusin ang mga ito sa mga row at column ngunit ang XML ay nagbibigay ng mas kaunting suporta para sa data na may rich content gaya ng audio, video, kumplikadong mga dokumento, atbp. Ang mga XML database ay nag-iimbak ng data sa isang structured, hierarchical form. na nagpapahintulot sa mga query na maproseso nang mas mahusay. Ang mga XML tag ay hindi paunang natukoy at ang mga gumagamit ay maaaring tumukoy ng mga bagong tag at mga istruktura ng dokumento. Gayundin, ang mga bagong wika sa internet gaya ng RSS, Atom, SOAP, at XHTM ay ginawa gamit ang XML.
SGML
Ang SGML ay nakabatay sa ideya na kahit na ang isang dokumento ay maaaring ipakita na may iba't ibang hitsura depende sa output medium na ginamit, naglalaman ito ng ilang structural at semantic na elemento na hindi nagbabago sa pagtukoy sa kung paano ito ipinapakita. Ang mga dokumentong nakabatay sa SGML ay maaaring gawin nang hindi nag-aalala tungkol sa hitsura ng dokumento na maaaring magbago ng overtime, ngunit tungkol sa istraktura ng dokumento. Dagdag pa, ang SGML compiler ay maaaring magbigay-kahulugan sa anumang dokumento gamit ang DTD nito, samakatuwid ang mga dokumentong ito ay nagbibigay ng higit na kakayahang magamit. Gayundin, ang mga dokumentong batay sa SGML ay madaling maiangkop muli sa iba't ibang media (halimbawa, ang dokumentong inilaan para sa print medium ay maaaring i-readyp para sa isang display screen).
Ano ang pagkakaiba ng XML at SGML?
Habang ang XML ay isang markup language na ginagamit upang maglipat ng data at text sa pagitan ng hardware ng driver, operating system at mga application, ang SGML ay isang ISO standard para sa pagtukoy ng markup language ng dokumento o isang set ng mga tag. Ang XML ay talagang isang markup language na nakabatay sa SGML. Ngunit ang XML ay nagpapataw ng ilang mga paghihigpit na wala sa SGML. Halimbawa, ang XML ay nagpapataw ng mga sumusunod na paghihigpit: dapat sarado ang mga entity reference gamit ang REFC delimiter, hindi pinapayagan ang mga reference sa external na data entity sa content, ang mga character reference ay dapat sarado gamit ang REFC delimiter, hindi pinapayagan ang mga pinangalanang character reference, atbp. Higit pa rito, ang ilang mga konstruksyon tulad ng mga hindi saradong panimulang tag, hindi sarado na mga end-tag, walang laman na mga panimulang tag, walang laman na mga end-tag na pinahihintulutan sa SGML kapag ang SHORTTAG ay OO, ay hindi pinapayagan sa XML. Bukod pa rito, ang ilang deklarasyon ng SGML gaya ng DATATAG, OMITTAG, RANK, LINK (SIMPLE, IMPLICIT at EXPLICIT), atbp. ay hindi pinapayagan sa XML.