Kao što znamo, sam HTML je zasnovan na SGML-u (Standard Generalized Markup Language), mnogo većem meta jeziku koji je postojao i pre pojave Web-a. SGML definiše samu gramatiku za sve markup jezike dokumenata i SGML dokumenti nose svoju gramatičku definiciju sa sobom u obliku Document Type Definition-a (DTD). DTD specificira sve oznake koje se koriste u jednom dokumentu i određuje im semantiku.
HTML je jedna od aplikacija SGML-a – tj. čvrsto određen skup oznaka. Tako na primer specifikacija HTML 3.2 (aktuelna 4.0), definiše preko 70 oznaka i 50 atributa. HTML dokumenti ne moraju da sa sobom nose DTD, jer predstavljaju fiksnu, neproširivu kategoriju (fiksne gramatike). Upravo iz ovog razloga, fiksne gramatike, vrlo je lak za učenje i lak za pisanje aplikacija koje ga prevode („renderuju“ HTML). Drugu stranu medalje predstavlja to, što u nekim momentima HTML vrlo teško možete „poterati“ da uradi neke specijalne stvari.
Proširivi SGML bi u ovakvim situacijama mogao da pomogne, ali SGML je suviše glomazan da bi se lako učio i implementirao. Umesto implementacije celog SGML-a na Web, svetski Web konzorcijum (World Wide Web Consortium – W3C) je predložio osiromašenu verziju SGML-a – XML. XML se može shvatiti i prihvatiti kao vrstu SGML Lite-a, namenjenog premošćavanju jaza između komplikovanog SGML bogatstva i HTML-ove lakoće korišćenja na Web-u, i ne samo na Web-u. XML je kao i SGML jezik, meta jezik. Ali dok promena HTML-a zahteva zvaničnu promenu standarda, XML je predviđen da bude proširiv. Čim neko proširenje specificiramo unutar XML-a, postaje univerzalno dostupno. Decembra 1997. godine na SGML/XML konferenciji u Vašingtonu, izdata je Extensible Markup Language specifikacija kao preporuka W3C. Pre toga je XML radna grupa konzorcijuma, na čelu sa Jon Bosak-om (kompanija Sun), izdala nekoliko saopštenja koja su uredili Tim Bray, Jean Paoli i C.M. Sperberg. Konačna potvrda XML-a 1.0 je bila predviđena za januar 1998. godine.
XML je kreiran radi lakšeg korišćenja u odnosu na SGML. Richard Light, u svojoj knjizi, za XML kaže: „XML nudi 80% dobrih strana SGML-a sa 20% njegove složenosti“. Dizajneri XML-a su pokušali da izostave one delove SGML-a koji se retko koriste, a ispostavilo se da toga ima zaista dosta: XML specifikaciji je potrebno oko 30 strana u poređenju sa 500 za SGML. Jedan od ciljeva radne grupe bio je da programerima omogući razvoj aplikacija koje će „razumeti“ XML za nedelju dana. XML uklanja granice HTML-ovog ograničenog skupa oznaka, dozvoljavajući korisnicima da definišu neograničen broj oznaka da bi opisali bilo koji složeni podatak u dokumentima. Ovi elementi, kao što ste mogli videti u prethodnim prilozima, mogu da budu ugnježdene hijerarhije informacija, organizovane u vidu stabla. Validan XML dokument je onaj u kome su sve ove hijerarhije definisane i ugnježdene na odgovarajući način. Deklarisanjem ovih oznaka i hijerarhija na samom početku, može umnogome smanjiti broj proceduralnog koda koji programer mora da napiše da bi kreirao struktuiranu aplikaciju. I nadalje, da bi XML dokument bio validan, svaka nova oznaka mora biti uključena u DTD, koji se može snimiti u poseban fajl.
Pratite Krstaricu na www.krstarica.com