Fujitsu-Siemens
 
M A G A Z I N
 
PROGRAMIRANJE 
  Boris Bjelošević

XML - Podaci o podacima

Extensible Markup Language, skraćeno XML, je svojevrsan jezik namenjen za internetsku komunikaciju. Pored toga, on predstavlja i tehnologiju za upravljanje, prikazivanje i organizovanje podataka, a koja se svakim danom sve više razvija.
Od samog početka korišćenja računara, programeri i korisnici su pokušavali da iznađu način za što lakšu razmenu podataka između različitih računarskih programa. Trebalo je pronaći format koji će imati prednosti binarnih fajlova (računar ih lako razume, a sami fajlovi su kompaktni, često malih gabarita), ali biti univerzalan po pitanju razmene, što je prednost klasičnih tekstualnih fajlova.
Jedan od prvih pokušaja takvog objedinjavanja bio je Standard Generalized Markup Language (SGML), jezik baziran na tekstu. Napravljen je tako da predstavlja način obeležavanja podataka za bilo koju namenu sa namenom da se koristi u sistemima za upravljanje i rad sa velikim količinama podataka. Međutim, baš kod takvog rada se pokazala njegova slabost, jer je zahtevao previše stvari o kojima je trebalo voditi računa prilikom programiranja. Ali u složenosti ovog jezika i leže njegove velike mogućnosti.
HTML-jezik je došao kao neka vrsta podskupa jezika SGML. S obzirom da su pravila za izradu SGML-dokumenata bila jasno definisana i dobro postavljena, sam jezik je predstavljao dobru osnovu za izradu specifičnog jezika - HTML-a. Pošto je i HTML, kao podskup SGML-a baziran na tekstu, fajl može napraviti svako ko ume da koristi bilo koji program za unos teksta. Čak i mnogi procesori za obradu teksta nude mogućnost da se sadržaj fajla snimi u formatu HTML-dokumenta.
XML je takođe podskup jezika SGML, nastao iz potrebe da se podaci razmenjuju u računarskoj mreži. Sam SGML-jezik je jako komplikovan i nije prikladan za to namenu, a HTML se pokazao kao ograničenih mogućnosti (ako sama HTML-stranica sadrži informacije o nekom filmu: naziv, ime režisera, glumaca,..., teško da će neki procesor podataka iz tog fajla moći da izvuče samo ime glavnog glumca). XML-jezik je omogućio da se prenesu potrebni podaci, ali je i naznačavao šta koji podatak znači. Praktično XML u sebi "nosi" podatke, ali i podatke o podacima.
Sam XML nije namenjen samo(?) da bi se podaci koje sadrži u sebi prikazali na web-stranicama, nego svima kojima ti podaci nešto znače. Tu je još jedna velika razlika između ovog jezika i HTML-a, koji je namenjen isključivo za kreiranje web-sadržaja. Kad već pominjemo razlike, postoji još jedna bitna - XML je "osetljiv" na veličinu slova: tag koji u HTML-u počinje sa <p> može se zatvoriti tagom </P>, tog kod XML-a to nije slučaj. XML daje slobodu korisniku/programeru da tagovi imaju proizvoljan naziv (uz neka ograničenja po pitanju karaktera koji se mogu koristiti), ali se strogo mora voditi računa o tome naziv otvorenog i zatvorenog taga bude identičan.
S obzirom da se XML-fajl može koristiti za mnoge stvari, a ne samo za web, postavljena su pravila kako jedan XML-fajl mora da izgleda,a sve to da bi mogao ispravno da se koristi. Program koji učitava podatke iz XML-fajla mora da razume šta znači koji podatak i da ga ispravno tretira. Prema specifikaciji jezika XML (pogledati http://www.w3.org/TR/1998/REC-xml-19980210#sec-intro) softverski modul, nazvan XML-ovim procesorom, se koristi za čitanje XML-fajlova i omogućava pristup sadržaju i strukturi samog fajla. Sam XML-ov procesor se naziva parser, a podrazumeva se da ovaj XML-ov procesor svoj posao obavlja za neku drugu konkretnu aplikaciju.
Pored toga što mora ispravno da tretira podatke u XML-fajlu, parser mora i da prepozna greške. Postoje dva tipa grešaka:

1. obične greške (eng. error) - predstavlja nepoštovanje pravla iz same specifikacije jezika XML, pa je krajnji rezultat nedefinisan; prilikom nailaska na ovakvu grešku, parser može ponovo da uspostavi rad i nastavi obrađivanje izvornog fajla;

2. neotklonjive greške (eng. fatal error) - prilikom nastanka ove greške parseru nije dozvoljeno da nastavi rad; neretko proizvođači parsera dozvoljavaju da se u tom slučaju nastavi rad, ali samo da bi se pronašla još neka greška (ako je ima) u izvornom fajlu.
Uvođenje ovakve "strogoće" je posledica nepostojanja iste kod specifikacije za HTML-jezik, pa brauzeri (odnosno njihovi kreatori) imaju veliku međusobnu nekompatibilnost često baš iz razloga što ne znaju šta je kreator HTML-fajla hteo da "kaže" pojedinim delovima svoga koda. Drastičan odnos prema greškama u XML-fajl pomaže i kreatorima parsera, ali i onima koji prave XML-fajlove, jer parser na vreme i na pravi način opiše grešku.
Priča o XML-u ovde tek počinje, kako vezana za njegovo korišćenje na web-u, tako i u ostalim mrežnim aplikacijama. Uz veliku podršku CSS-a i XSL(T)-a, XML pruža neverovatne mogućnosti kreiranja dinamičkih web-stranica. XML se može povezati sa bazom podataka (kako za dobijanje podataka iz jedne ili više tabela, tako i za smeštanje XML-a u bazu), koristiti za kreiranje višeslojnih aplikacija, u elektronskoj trgovini,...

 

VRH STRANE

(c) 2004 OMEGA - sva prava zadržana