XML
 
 
 
 

1.Kako je nastao XML
 
 

HTML se razvio iz jedne druge kratice - SGML.Standard Generalized Markup Language (SGML) svoje korijene vuèe još iz šezdesetih godina kada je IBM predstavio svoj GML jezik.GML nije obièan programski jezik,veæ je bio jezik za definiranje drugih jezika.Nešto kasnije bio je standardiziran i prihvaæen od ISO - a te preimenovan u SGML.Danas se koristi u velikim poduzeæima i meðunarodnim i inim institucijama i nije poznat široj masi.Jedan od razloga je svakako neprilagoðenost masama.Kada se nešto želi "uvaliti" masi ,to treba biti jednostavno i korisno.SGML muèi upravo jednostavnost pa je zbog toga odluèeno da se napravi pojednostavljena inaèica.Tako je nastao XML.
 

2.Karakteristike XML-a
 

Glavna karakteristika Extensible Markup Languagea (XML) u odnosu na SGML je što je on ne samo slièan i zasnovan na njemu,veæ je i kompatibilan.To u praksi znaèi da se svaki XML dokument može koristiti s alatima i aplikacijama specijaliziranim za SGML.

XML nije neka nova inaèica HTML-a.Zapravo XML i HTML se poprilièno razlikuju i imaju sasvim drugaèiju svrhu i smisao.XML je jezik za definiranje drugih jezika.Pomoæu HTML-a definiramo kako æe podaci izgledati na ekranu.
Kod XML-a ne definiramo kako æe podaci izgledati,veæ definiramo strukturu tih podataka.

Osim što stroj može podatke iz XML koristiti na tisuæe naèina,kako su  XML dokumenti  tekstualni i èovjek može bez dodatnog interpretera
razumjeti što je i kako zapisano u kodu.To u praksi znaèi da svoj cijenik opreme za planinarenje možete editirati s bilo kojeg mjesta u svijetu,i s najlošijeg raèunala,uz pomoæ obiènog tekstualnog editora,bez obzira na platformu.U krajnjoj liniji,XML dokumenti se mogu editirati èak i sa mobilnog telefona.

Unatoè tome što su tagovi u XML-u proizvoljnog karaktera,on ima vrlo strogo definiranu strukturu kako se oni trebaju koristiti.Ta strogo definirana struktura omoguæuje jednostavniji razvoj XML interpretera i editora,tako da æe svaki napredniji programer moæi napraviti svoj XML interpreter i koristiti podatke unutar XML dokumenta u svojoj aplikaciji.
Ipak,èak niti to nije potrebno jer sve novije inaèice programskih alata podržavaju,ili æe podržavati,XML kao input i output za podatke.

XML služi za definiranje drugih jezika.Svaki autor može razvijati vlastiti jezik prilagoðen njegovim potrebama,ovisno o projektu na kojem radi.Meðutim,za oèekivati je da æe se razvijati jezici koji æe se temeljiti na XML specifikacijama,a i sami budu proglašeni standardom.Konkretan primjer za to je WML (Wireless Markup Language) koji se u potpunosti temelji na XML specifikaciji (što omoguæuje korištenje XML editora,interpretera i ostalih XML alata),a služi za prikaz podataka na zaslonima malih ureðaja kao što su ruèna raèunala i mobilni telefoni.
 
 

3.Sintaksa
 

Èini se da je webmaster bilo jedino zanimanje u kojem se smjelo bez ikakvih posljedica griješiti.Browseri su mnoge greške ignorirali,stranice nisu ništa lošije izgledale,a posjetitelji nisu ni znali da je itko igdje pogriješio.XML je ovome stao na kraj.Kod njega kod mora biti èist,jasan toèan,jednom rjeèju savršen.Time se suzbila pojava traljavih i amaterskih webmastera i riješili problemi koje je izazivao tzv. rat browsera.XML dokument je ili toèan ili neupotrebljiv.

Kod izrade XML dokumenata moramo poštivati pet jednostavnih pravila.Sada æemo ih redom nabrojati i kratko opisati.

Svaki otvoreni tag mora biti zatvoren i to bez iznimaka.U HTML-u se neki tagovi nisu niti mogli zatvarati.Najoèitiji primjer je tag <br> za prelazak u novi red koji nikad nije imao svoju zatvarajuæu inaèicu tipa </br>.Niti u XML-u ta inaèica ne postoji,veæ se jednosložni tagovi zatvaraju dodavanjem kose crte prije posljednjeg znaka,paizgledaju ovako:<br/>.

Drugo pravilo:postoji razlika izmeðu velikih i malih slova.Takoðer,valja napomenuti da se neki preddefinirani tagovi (poput onog za oznaèavanje tipa dokumenta i slièno) obavezno pišu malim slovima.

Pravilo broj tri govori o tome da kod mora biti uredan.To znaèi da ako na primjer otvorimo dva taga,onaj kojeg smo zadnjeg otvorili trebamo zatvoriti prije nego što zatvorimo prvi.

Èetvrto pravilo kaže da dokument mora imati tzv. root tag.Dakle mora postojati jedan tag koji se otvara na poèetku dokumenta,prije svih ostalih tagova i zatvara se na samom kraju dokumenta,nakon svih drugih.

I konaèno,peto pravilo kaže da svi atributi moraju biti pod navodnicima.

Ponovimo dakle da je HTML je vrlo strog jezik i svako nepridržavanje ovih pravila ne samo da æe rezultirati pogrešnim prikazom stranica,veæ æe bez imalo milosti objaviti grešku i odbiti daljnju suradnju.
 

4.XSL
 

Da bi XML izgledao kako treba u posjetiteljevom browseru,najèešæe se koristi XSL.XSL je skraæeni oblik za Extensible Style Language,a predstavlja,grubo reèeno,style sheet za XML.Ono vjerojatno najzanjimljivije kod XSL-a je da je temeljen na XML specifikaciji i,tehnièki gledano,predstavlja još jedan od definiranih i standardiziranuh jezika u nizu koji se temelje na toj specifikaciji.
S druge strane,XSL zapravo izuzetno lièi na HTML – gotovo svi tagovi koje poznajemo iz HTML-a koriste se i u XSL-u.

Osim XSL-om,kao mehanizam kojim definiramo kako æe XML dokument biti prikazan,može poslužiti i CSS.Dakako,on nije dorastao XSL-u koji je ipak napravljen baš za XML i s njim se,logièno,najbolje slaže.

Unatoè sliènim nazivu,XSL nije samo prepiska CSS-a za XML.Da jest tako, jedino što bismo XSL-om mogli napraviti je vizualno preformirati podatke i prikazati ih na ekranu. Meðutim,XSL je pravi mali skriptni jezik pomoæu kojeg podatke možemo filtrirati,sortirati,miješati,slagati,pa èak i,u ovisnosti o vrijednosti nekih elemenata,utjecati na prikaz (primjerice,negativne brojeve ispisivati crvenom bojom i slièno).Možemo reæi da XSL zapravo konvertira XML podatke u HTML dokument.

XSL je ipak jezik temeljen na HTML specifikaciji,no nema proizvoljnih tagova.Svi tagovi su strogo definirani i ima ih zaista puno.Èak i ako iz proraèuna izbacimo tagove koji su isti ili slièni HTML-u,ostaje poveæi broj onih koji su potpuno novi,a najèešæe u formatu "<xsl:nesto />".
 
 

5.DTD
 

Kartica DTD,punim imenom Document Type Definition,bit æe nam od velike važnosti ukoliko želimo razvijati vlastiti markup jezik,a koristeæi XML to nesumnjivo i radimo.

Kao i prije svakog ozbiljnog projekta,bitno je napraviti detaljan plan kako æe se stvari razvijati.Kod razvijanja projekata u XML-u to je još važnije jer sami definirate strukturu podataka.Koliko god samokontrola bila jaka,uvijek dolazi do pogrešaka.Kako bismo izbjegli te pogreške,koristimo Document Type Definition (DTD) pomoæu kojeg toèno definiramo koje æemo tagove koristiti i kako.

DTD nije ništa novo – i sam HTML ima svoj DTD koji propisuje koji su tagovi dozvoljeni,a koji nisu,te koje parametre tagovi mogu imati.Razlika je u tome što nas DTD kodHTML-a nije zanimao na naèin na koji nas interesira sada.Prije je bilo dovoljno nauèiti HTML tagove bez potrebe da znamo kako su oni "ispod haube" zapravo definirani.

Kako XML omoguæuje definiranje vlastitih jezika,DTD postaje vrlo bitan.Svi veæ standardizirani jezici temeljeni XML-u (kao što su XSL,WML islièni) imaju svoj DTD.Mogli bismo èak reæi da nisu standardizirani ti jezici (jer se svode na veæ standardizirani XML),veæ da se standardizira upravo njihov DTD.

"Well formed document" je XML dokument koji se pridržava specifikacije XML-a i ako dokument nije "well formed" podaci u njemu neæe biti upotrebljivi jer æe interpreter prijaviti pogrešku.Drugi razlog prijavljivanja pogreške kod XML-a je kad dokument nije "valid document".Valjanost dokumenta odnosi se na pridržavanje (odnosno nepridržavanje) strukture definirane DTD-om.Da bi XML dokument bio uspješno prikazan,mora biti i "well formed" i "valid" sa sitnom napomenom da u praksi u XML dokumentu ne morate imati DTD,iako je preporuèljivo.

Slijedeæi trend odvajanja svih segmenat u posebne datoteke,i DTD se može zapisati direktno u XML dokument,ali i u posebnu datoteku na koju æete iz XML dokumenta samo referencirati.