Download as doc, pdf, or txt
Download as doc, pdf, or txt
You are on page 1of 18

ELEKTRONSKO POSLOVANJE

Tema: XML

Profesor: Student:

Sadržaj:
Uvod............................................................................................................................................3
Šta je XML..................................................................................................................................4
Pregled XML-a i njegove osobine..............................................................................................4
Istorija.........................................................................................................................................6
Namena XML-a..........................................................................................................................8
Prednosti.............................................................................................................................8
Nedostaci.............................................................................................................................9
Kako radi XML...........................................................................................................................9
Sintaksa.....................................................................................................................................10
Deklaracija............................................................................................................................11
Elementi, oznake i znakovni podaci.....................................................................................11
Prazni elementi......................................................................................................................12
Korenski element..................................................................................................................12
Stabla.....................................................................................................................................12
Atributi..................................................................................................................................13
Pravilnost XML dokumenta......................................................................................................14
DTD..........................................................................................................................................15
Prikazivanje na web-u...............................................................................................................15
Zaključak...................................................................................................................................17
Literatura i linkovi:...................................................................................................................18

2
Uvod
XML je koncipiran s idejom da omogući punu iskorišćenost i međuoperativnost
World Wide Web-a. Kada se rodila ideja o njegovom kreiranju, ni najveći optimisti nisu
mogli predvideti koliki uticaj će ovaj proizvod imati na dalji razvoj informatike i računarstva.
XML je metajezik, koji služi za opis drugih jezika, a čija namena može biti različita.Jezici
koji su napravljeni pomoću XML-a (u skladu s pravilima u XML-u), nazivaju se
XML-aplikacije. Za vrlo kratak period razvijeni su jezici za prikaz multimedijskih sadražaja,
za opis prezentacija na Inetrnetu, za prikaz matematičkih sadržaja itd, a koji su zasnovani na
XML-u. Ali ne samo to, razvijeni su razni softverski alati za primenu ovih jezika, opisana
pravila za primenu i napravljena prilagođavanja postojećim informatičkim proizvodima. I dok
se u početku moglo govoriti samo o XML-tehnologiji, nakon razgranjavanja primene,može se
govoriti o čitavom nizu XML-tehnologija. Veliki proizvođači softvera(Microsoft, IBM,
Sun, ...), vrlo brzo su uvideli značaj XML-tehnologija pa su glavne svoje proizvode (Dot-net,
Sistemi za upravljanje bazama podataka, višeslojneaplikacije, ...) zasnovali na XML-u. Ova
podrška je veoma značajna jer doprinosi još većoj popularnosti XML-tehnologija. Ako se ovo
ima u vidu,svako planiranje digitalizacije podataka trebalo bi da se zasniva na XML-
tehnologijama. Izborovih tehnologija je garancija da će podaci ubuduće moći lako da se
obrađuju,transformišu i koriste.

XML je skraćenica za Extensible Markup Language, odnosno proširivi (metajezik) za


označavanje (engl. markup) tekstualnih dokumenata.

• Markup -dodavanje specijalnog znacenja podatku -U XML koristi se tag za predstavljanje


markup-a

• Extensible -prosirljiv jezik, dozvoljava definisanje novih tag-ova

XML je standardizovan jezik za čiju se standardizaciju brine W3C. Ideja je bila da se stvori
jezik koji će i ljudi i računarski programi moći jednostavno da čitaju. XML definiše opštu
sintaksu za označavanje podataka pomoću odgovarajućih etiketa (engl. tags) koje imaju
poznato ili lako razumljivo značenje. Format koji obezbeđuje XML za računarske elemente
može se prilagoditi najrazličitijim oblastima, kao što su elektronska razmena podataka,
čuvanje podataka, odvajanje podataka od prezentacije, vektorska grafika, sistemi glasovne
pošte, izrada novih specijalizovanih jezika za označavanje.

Postoji veliki broj besplatnih biblioteka na različitim jezicima na kojima se može pisati i čitati
XML, a mogu se upotrebiti i gotovi softveri (kao što su programi za obradu teksta ili čitači
veba). Neke alatke mogu da rade sa svim XML dokumentima, dok su druge prilagođene za
podršku XML aplikacijama u različitim oblastima, ali se uvek koristi ista sintaksa. Mnogi
formalno definisani jezici za označavanje, kao što su RSS, MathML, GraphML, XHTML,
Scalable Vector Graphics, MusicXML i sl. bazirani su na XML-u.

XML omogućava stvaranje dugotrajnih formata podataka koji su nezavisni od platforme.


Često se dokumenti pisani na jednoj platformi ne mogu čitati na drugim platformama, niti u

3
različitim programima na istoj platformi, čak ni u ranijoj verziji jednog programa na istoj
platformi. U XML dokumentima tekstualni su ne samo podaci već i etikete koje su smeštene u
samoj XML datoteci. To znači da ih može čitati svaka alatka koja je u stanju da čita
tekstualne datoteke. Tako se podaci mogu prenositi sa jednog sistema na drugi. Tako XML
daje prenosive podatke.

XML čuva podatke u običnu tekstualnu datoteku koja je čitljiva gotovo na svakoj platformi.
Format je jasno vidljiv i jednostavno je napraviti računarski program koji će na odgovarajući
način interpretirati podatke. Postoji nekoliko inicijativa s idejom da se za čuvanje podataka
umesto zatvorenih binarnih formata (npr. doc, xls,...) za čuvanje podataka koristi XML
format. Danas sve više računarskih programa koristi taj format za čuvanje podataka podataka.

Šta je XML
XML je na prvom mestu tehnologija. Nakon toga dolazi definicija da je XML jezik mada je
XML manje jezik a više konvencija za kodiranje. XML je i skup srodnih tehnologija i sam za
sebe ne predstavlja nešto posebno već tek sa srodnim tehnologijama daje pune rezultate.
Srodne tehnologije su:
1 • DTD
2 • CSS
3 • XLS
4 • DOM
5 • ADO
6 • XLink
7 • XFragments
8 • XPointer
9 • ... itd.

U nekim od pomenutih tehnologija XML se ponaša kao klijent dok je za neke server a može
biti i jedno i drugo istovremeno.
Jedan od najvećih problema kada je u pitanju transfer informacija je njihov sadržaj u
logičkom smislu te reči. XML služi kao konterner za transfer jer u sebi pored informacije ima
i njenu poziciju u odnosu na ostale informacije – XML pored informacije opisuje i strukturu.
Detaljna specifikacija XML-a je data na www.w3.org i svakako je vredi pročitati.

Pregled XML-a i njegove osobine

XML je u svojoj osnovi informacija o informaciji. Više nije dovoljno imati samo
informaciju jer to u današnjim uslovima znači tražiti i pronaći istu već je potreban način da
opišemo informaciju a da taj opis informacije upotrebimo dalje za pronalaženje iste i za njenu
dalju obradu. Zamislite sledeću situaciju: potreban vam je tačan kurs DEM u odnosu na USD.
Možete otići na neki sajt i tamo pronaći tu informaciju ali to zahteva da neka osoba to i uradi.
Možda biste mogli i da napišete neki parser koji će sadržaj tog sajta rasčlaniti i pronaći
potrebnu informaciju ali zamislite šta vam je sve potrebno da znate da napišete takav parser.
Morate znati gde je i kako je ta informacija smeštena. Prilično komplikovano a rezultati su i
dalje diskutabilni. Međutim kada biste imali informaciju koja opisuje informaciju stvari bi
bile mnogo lakše. Lako biste mogli da dođete do potrebne informacije – to bi mašina mogla
da uradi umesto vas a kad neko stalno nudi takve informacije kojima biste mogli da pristupite
lako onda je pojam web servisa lako razumljiv. Ideja se dalje razvija i dobijamo internet kao
mrežnu infrastrukturu tako da na kraju krajeva internet ili barem jedan njegov segment će biti

4
uskoro čisto poslovna mreža kojom će se razmenjivati samo informacije u sirovom obliku.
Uslov te razmene je da informacije na neki način budu obeležene da bi se mogle identifikovati
i koristiti a upravo to je ono što XML nudi.

XML je u osnovi tekst. Doduše nije formatiran tako da lepo izgleda a može biti i
komplikovan tako da ga to potencijalno diskvalifikuje za čitanje od strane ljudi. Kao
ilustarcija XML, ovako izgleda ADO rekordset (SELECT * FROM Customers) u XML-u
parsiran u Internet Exploreru:

Slika 1. ADO rekordset u XML-u


Za dalju diskusiju su nam potrebni primeri pa razmotrimo sledeći:
<?xml version="1.0" ?>
<note>
<to>Pera</to>
<from>Mika</from>
<subject>pozdrav</subject>
<body>Puno pozdrava iz Beograda</body>
</note>

Ovako bi mogao da izgleda jedan običan i jednostavan XML fajl kada ga posmatramo iz
Notepada. Odmah je uočljivo da postoje neki tagovi (oznake) koje uokviruju neki tekst.
Upravo te oznake su ono što XML čini XML-om. One opisuju sadržaj odnosno informaciju.
Međutim postoji još nešto što ovaj primer možda ne oslikava jasno – XML može da opiše
svojom strukturom i strukturu informacija odnosno njihov odnos u smislu hijerarhije. Dve
veoma bitne stvari. Informacija o informaciji i informacija o strukturi u jednom dokumentu je

5
prilično lucidna stvar. To nam dopušta da kada već imamo relacione baze podataka da sadržaj
istih interpretiramo na način da to bude lako upotrebljivo, brzo dostupno i, možda najbitnije,
razmenljivo između aplikacija.

Slika 2. parsirani(sintaksna analiza) prethodni primer

Istorija

Šezdesetih godina 20. veka, zbog problema sa velikom količinom različite tehničke
dokumentacije, u IBM-u se javlja ideja za stvaranjem prvog šire korišćenog jezika za
označavanje podataka. Tako nastaje GML (Generalized Markup Language), koji su izumeli
Čarls Goldfarb, Ed Mošer i Rej Lori (Charles Goldfarb, Ed Mosher, Ray Lorie).

Pošto se GML pokazao kao uspešan, nastavljen je razvoj u tom smeru, za šta je zaslužno više
stotina ljudi širom sveta. Jezik koji je nastajao trebalo je da bude dovoljno formalizovan da
može da garantuje vernost dokumenata, dovoljno strukturiran da može da operiše i
kompleksnim dokumentima, i dovoljno otvoren da može podržati rukovanje velikim
količinama podataka. Ovaj jezik nazvan je SGML (Standard Generalize Markup Language),
koji je 1986. ISO prihvatio kao standard 8879.

Tim Berners Li (Tim Berneres Lee) izabrao je mali skup etiketa iz SGML-a i primenio ih na
formatiranje dokumenata. Tako nastaje HTML (HyperText Markup Language), koji je
primenjeni SGML. HTML je imao konačan skup etiketa koje su opisivale osnovne delove
dokumenata. Ali, pošto je namenjen za izradu veb stranica, nije podesan za upotrebu izvan

6
ove oblasti. Kada je posle uspešne promocije na internetu postalo očigledno da HTML ne
može baš sve rodila se ideja o XML-u negde 1996 godine. Međutim XML nije evoluirani
HTML. On je komplement HTML-u i dizajniran je ne da zameni HTML već da ponudi ono
što HTML ne može.

Zbog toga je SGML upotrebljavan za druge aplikacije koje koristi internet, a nisu proste veb
stranice.

Glavni nedostatak SGML-a bila je izuzetna komplikovanost; bio je opširan, složen za


korišćenje i skup u upotrebi. Zato nije bio mnogo raširen, i korisnici SGML-a bile su
uglavnom velike kompanije, naučne institucije i državne službe. Zbog toga su 1996. godine
Džon Bozak, Tim Brej, Sperberg-Mekvin, Džejms Klark (Jon Bosak, Tim Bray, C. M.
Sperberg-McQueen, James Clark) i drugi počeli rad na uprošćenoj verziji SGML-a, koja je
izostavila njegove suvišne, zbunjujuće i nekorisne elemente, ali zadržala veliki deo njegove
funkcionalnosti. Na početku svog rada, odredili su deset ciljeva kojih su se pridržavali u toku
razvoja XML-a:

 XML mora biti direktno primenljiv preko interneta;


 XML mora podržavati širok spektar primena;
 XML mora biti kompatibilan sa SGML-om;
 XML mora lako pisati programe koji procesiraju XML dokumente;
 broj opcionih mogućnosti (engl. feature) u XML-u mora biti apsolutno minimalan, a u
idealnom slučaju jednak nuli;
 XML dokumenti moraju biti čitljivi ljudima i u razumnoj meri jednostavni;
 standard mora biti specifikovan što pre;
 dizajn XML-a mora biti formalan i precizan;
 kreiranje XML dokumenta mora biti jednostavno;
 sažetost kod označavanja dokumenta XML-om je od minimalnog značaja.

Tako je nastao XML 1.0, koji je World Wide Web Consortium objavio 10. februara 1998.
godine.

Pored naziva XML razmatrana su i druga imena: MAGMA (Minimal Architecture for
Generalized Markup Applications), SLIM (Structured Language for Internet Markup) i
MGML ( Minimal Generalized Markup Language).

XML 1.0 zasnovan je na standardu Unicode 2.0. Međutim, pošto je Unicode nastavio da se
razvija i obuhvata nova pisma (mongolsko, kambodžansko, burmansko, amharsko...), XML je
počeo da zaostaje. Zato je 4. februara 2004. godine objavljen XML 1.1, koji dozvoljava i
upotrebu znakova iz ovih pisama.

XML činjenice
1 • XML je metod za smeštanje strukuiranih podataka u tekstualni fajl XML ima
podatke i strukturu u tekstualnom fajlu. To ga kvalifikuje za rad sa bazama podataka.
2 • XML liči na HTML ali nije HTML Iako koristi tagove kao i HTML on se suštinski
razlikuje od HTML-a jer proizvoljno proširiv tagovima koje sami izmišljate.
3 • XML je tekst ali nije namenjen čitanju od strane ljudi već mašina Iako je tekst nije
namenjen čitanju već parsiranju od strane računara.

7
4 • XML je porodica tehnologija XML čini čitava porodica tehnologija i on sam po sebi
ne predstavlja posebno mnogo funkcionalnosti ali u sadejstvu sa ostalim
tehnologijama (CSS, XLink, XPointer, XFragments, XSL ...itd) daje odlične rezultate.
5 • XML za posledicu ima obiman fajl ali to nije problem Iako je XML fajl obiman zbog
upotrebe oznaka to nije problem. Stvar se kompenzuje time što dobijate fleksibilnost u
primeni.
6 • XML je nov ali nije baš toliko nov XML je relativno nov ali njegovi koreni sežu u
početke osamdesetih. On predstavlja evoluciju ideje a ne evoluciju jezika.
7 • XML se može koristiti za razvoj novih jezika XML je preteča WAP-a i WML-a.
Wireless Markup Language (WML), koji se koristi na primer u obeležavanju Internet
aplikacija za mobilne telefone je zapravo usko specijalizovani XML. Slična stvar je i
sa WAP-om.
8 • XML ne pripada nikome, ne zavisi od platforme i dobro je podržan XML je samo
specifikacija W3 konzorcijuma. Ujedno je i preporuka priznatog autoriteta. Nema
profitnu pozadinu i slobodan je za upotrebu. Da biste ga koristili niste ničim
obavezani, ni platformom, ni proizvođačima, ni licencama i ugovorima. Shvatite
njegovu suštinu i koristite ga onako kako vama odgovara.

Namena XML-a
Kao što je to već pomenuto XML je komplement HTML-u a ne njegova bolja verzija.
Zapravo XML samo liči na HTML jer koristi tagove kao i HTML ali je to posledica toga što
je i on jezik za obeležavanje. HTML je namenjen da prikazuje dokument ali on nema jasnu
granicu između sadržaja i forme. Sa XML-om je situacija potpuno drugačija. Forma je
izdvojena u poseban fajl (na primer .css – cascading style sheets ako baš želite da formatirate
fajl mada to nije prvenstvena ideja upotrebe XML-a) a sadržaj je u posebnom fajlu i on je
suština XML-a. Koristi se da pruži podatke i njihov opis a sam prikaz često i ne postoji.
Jednostavno, XML služi kao format - spona između dve aplikacije koja od jedne prihvata
podatke i pruža je drugoj aplikaciji. U ovoj varijanti, prednost mu je što može koristiti HTTP
protokol. Međutim teško je dati odgovor tip: "XML se koristi za to i to... " jer su mogućnosti
primene praktično neograničene. Bolje je upoznati osobine XML-a i koristiti ga tamo gde je
to prikladno nego se ograničavati nekim stvarima koje su više ilustracija primene nego
pravilo.

Prednosti

XML je jednostavno čitljiv i čoveku i računaru.

Pošto je XML dokument obično tekstualna datoteka, čitljiva je na svakoj platformi koja može
čitati tekstualne podatke. Tako postaje neosetljiv na tehnološke promene – bez obzira na
napredak tehnologije, tekstualne podatke će još dugo svaki računar moći da pročita. etikete
XML podržava Unikod i omogućava prikaz teksta na svim poznatim jezicima.

Takođe, ovaj format je samodokumentujući: etikete opisuju sadržaj koji se nalazi unutar njih.

Ispravnost nastalog XML dokumenta vrlo je jednostavno kontrolisati, jer XML ima stroga
sintaksička pravila. Računarski programi za obradu dokumenata mogu jednostavno da
obrađuju XML sadržaj.

8
XML je međunarodno prihvaćen standard. Prihvatili su ga mnogi proizvođači programa i
koriste ga u svojim proizvodima. Kompatibilan je sa SGML-om, koji se koristi od 1986.
godine, a SGML može obrađivati veliki broj računarskih programa. XML može da predstavlja
najuopšteniju strukturu kompjuterske nauke: snimke, liste i stabla, a njegova hijerarhijska
struktura je prikladna za većinu (ali ne i za sve) tipove dokumenata. Može se reći da je za
XML najvažnije to što predstavlja jezik za metaoznačavanje, što podrazumeva da on nema
fiksan skup oznaka i elemenata. U imenu XML-a slovo X potiče od reči Extensible (proširiv).
To znači da se jezik može prilagođavati i proširivati kako bi zadovoljio različite potrebe
korisnika.

Nedostaci

Jedan od osnovnih nedostataka XML-a je redundantna i opširna sintaksa. Ona može


zbunjivati čoveka, a računarski program koji obrađuje dokument može delimično usporiti.
Ovi računarski programi su veoma složeni jer moraju da obrađuju velike količine ugnežđenih
podataka na više nivoa.

Treba imati u vidu da je XMLsamo jezik za označavanje, a ne programski jezik. XML


dokument samo postoji, ne radeći ništa.

Kao ni HTML, ni XML ne šalje podatke preko mreže. Poslani podaci mogu biti kodirani u
XML-u, ali izvan XML dokumenta mora postojati neki protokol (HTTP, FTP, NFS i slično)
koji će poslati dokument. To znači da XML nije protokol za mrežni prenos.

Iako XML veoma dobro služi kao prenosni format, koji je nezavisan od platforme, on nije
baza podataka. Sama baza podataka, iako može sadržati XML podatke, nije XML dokument.
Da bi korisnik preuzeo XML dokument iz baze podataka, mora upotrebiti neki posrednički
program (eng. middleware product), kao što je Enhydra.

Kako radi XML


Za funkcionalnost koji pruža XML potreban je parser. U Internet Exploreru 5.0 i nadalje
postoji ugrađen parser a za parsiranje iz npr. Visual Basica potrebno je postaviti referencu na
XML parser. Parsiranje, kada je XML u pitanju znači sledeće – rasčlanjivanje tekstualnog
fajla i pravljenje strukture koja se rekurzivno puni elementima XML stabla. To znači da
parser izvodi sledeće operacije:
1 1. Isčitava preprocesorski deo dokumenta (deo na početku dokumenta između ?
znakova) da bi došao od informacija koje se odnose na dokument a nisu deo samog
XML stabla. Na primer: <?xml version="1.0" encoding="windows-1252"?>
2 2. Zatim se isčitava prvi tag u XML strukturi i zapisuje njegovo ime – ovo je top level
ili startni tag.
3 3. Zatim se zapisuje ime elementa.
4 4. Zatim se isčitavaju ostali elementi redom da bi se odredilo koja svojstva ima dati
element strukture i zatim se ta svojstva upisuju - ako je u pitanju element upisuje se
njegova vrednost ili u formi uređenih parova atribut = vrednost ako je u pitanju
atribut.
5 5. Ako sledeći tag nakon prvog nađenog nije oznaka za zatvaranje isčitava se sledeći
tag i on se definiše kao dete trenutnog elementa. Onda se parser vraća na korak 3. Ako
je nađeni tag oznaka za zatvaranje onda je element definisan.
6 6. Ovaj proces se ponavlja dok se ne obradi čitav dokument.

9
XML je projektovan za distribuirano okruzenje i veoma pogodan kao format za razmenu
podataka između heterogenih aplikacija na Web-u .XML kao format je dovoljno formalan za
masinsko procesiranje i dovoljno razumljiv za korisnike.

Sintaksa

U XML dokumentima podaci su smešteni u obliku znakovnih nizova (eng. strings), koji se
nalaze između tekstualnih etiketa koje ih opisuju. U XML-u se osnovne jedinice etiketa i
podataka nazivaju elementi.

10
Korisnik se pri pisanju etiketa mora pridržavati precizno definisane sintakse. Strukturu XML
dokumenta opisuju njegove etikete, pomoću kojih se može videti koji su elementi pridruženi
drugim elementima. Ako je XML dokument dobro projektovan, etikete opisuju i njegovu
semantiku (npr. etikete ukazuju da li je element naslov, ime osobe, datum i sl.). Ali, etikete u
dobro projektovanim XML aplikacijama ne govore ništa o načinu prikazivanja dokumenta
(npr. da li je element ispisan polucrno ili kurzivom i sl.) jer XML jezik ne označava način
prikazivanja, već strukturu i semantiku.

Bazična sintaksa za jedan dokument u XML-u je:

<osoba>Petar Petrovic</osoba>

Deklaracija

Svaki XML dokument bi trebalo da otpočinje deklaracijom XML-a, ali to nije obaveza.
Deklaracija sadrži pseudoatribute version, standalone i encoding. Na primer:

<?xml version=”1.0” encoding=”UTF-8” standalone=”yes”?>

Ako XML dokument poseduje deklaraciju XML-a, ona mora biti no početku dokumenta, a
pre nje ne sme biti komentara, belina i sl. To je zato što XML analizator na osnovu prvih pet
znakova (<?xml) prepoznaje način kodiranja znakova u dokumentu; ispred deklaracije XML-
a može se naći jedino nevidljiva Unicode oznaka redosleda bajtova.

Atribut version uglavnom ima vrednost 1.0, jer zadavanje verzije 1.1 ograničava dokument na
mali broj najnovijih verzija analizatora, dok svi analizatori za XML1.1 podržavaju i XML 1.0.
Pošto neki sistemi ne pružaju podatke o skupu znakova, XML dopušta dokumentima da sami
naznače svoj skup znakova koristeći deklaraciju kodiranja (eng. encoding declaration). Ona
se nalazi unutar deklaracije XML-a.

Atribut encoding je opcion. Ako je izostavljen, analizator pretpostavlja da je upotrebljen


Unicode skup znakova. Atribut standalone (samostalan) je takođe neobavezan. Može imati
vrednosti yes i no. Ukoliko je izostavljen, pretpostavka je da ima vrednost no. U tom slučaju
aplikacija može učitati spoljni DTD (koji je smešten u spoljnu datoteku), kako bi utvrdila
prave vrednosti nekih delova dokumenata. Dokument koji nema DTD kao vrednost atributa
standalone može imati vrednost yes; ovu vrednost može imati i dokument koji ima DTD, ako
taj DTD ne menja sadržaj dokumenta ili je potpuno interni.

Elementi, oznake i znakovni podaci

XML elementi opisuju određeni deo XML dokumenta. Jedan element je razgraničen
početnom oznakom (eng. start-tag) i završnom oznakom (eng. end-tag). Početna oznaka
sastoji se od imena elementa okruženog uglastim zagradama (<osoba>). Završna oznaka
sastoji se od istog imena okruženog uglastim zagradama, ali i od crtica koje prethodi imenu
elementa (</osoba>). Sve što se pojavljuje između početne i završne oznake predstavlja
sadržaj (eng. content) elementa. Sadržaj dokumenta u prvom primeru predstavlja tekst: Petar
Petrović. Iako su razmaci deo sadržaja, mnoge aplikacije ih zanemaruju. Etikete <osoba> i
</osoba> čine markiranje (eng. markup) dokumenta, dok znakovni niz ,,Petar Petrović“,
zajedno sa razmacima koji ga okružuju, predstavlja znakovne podatke (eng. character data).

11
Prazni elementi

XML obezbeđuje posebnu sintaksu za predstavljanje elemenata praznog sadržaja. On može


biti predstavljen jednom oznakom praznog elementa (eng. empty-element tag). Ova oznaka
počinje znakom < , a završava se znakovima /> .Sledeća tri primera za označavanje, npr. ,
prekida reda ( eng. line break) u XHTML-u ( koji je XML-izovana varijanta HTML-a)
ekvivalentna su:

<br></br>
<br />
<br/>

Korenski element

Svaki XML dokument mora imati tačno jedan korenski element (eng. root element) koji
uokviruje kompletan sadržaj dokumenta. U dokumentu, on je prvi element i u sebi sadrži sve
druge elemente. Ponekad se korenski element naziva i element (celog) dokumenta (eng.
document element).

Stabla

Sledeći primer ilustruje nešto složeniji XML dokument:

<osoba>
<ime_i_prezime>
<ime>Petar</ime>
<prezime>Petrovic</prezime>
</ime_i_prezime>
<zanimanje>književnik</zanimanje>
<zanimanje>diplomata</zanimanje>
</osoba>

Ovaj dokument još uvek sadrži samo jedan element – osoba. Ali, ovaj element ima tri
elementa-potomka (eng. child elements): jedan element <ime_i_prezime> i dva elementa
<zanimanje>. Element <ime_i_prezime> ima dva elementa-potomka – element <ime> i
element <prezime>. Element <osoba> je roditeljski element elemenata <ime_i_prezime> i
elemenata <zanimanje>, dok je element <ime_i_prezime> roditelj elementima <ime> i
<prezime>. Može se reći da su elementi <ime_i_prezime> i elementi <zanimanje> bratski
elementi, braća (eng. sibilings), a međusobno bratski su i elementi <ime> i <prezime>. Kaže
se da su elementi <ime_i_prezime> i elementi <zanimanje> ugnežđeni unutar elementa
<osoba>.

XML zahteva da elementi budu propisno grupisani: svaki element se nalazi unutar drugog
elementa, a i početna i završna oznaka elementa moraju biti unutar jednog istog elementa.
XML zabranjuje oznake koje se preklapaju, odnosno elementi moraju biti pravilno ugnežđeni.
Ovaj primer dokumenta je nepravilan:

<osoba>
<ime_i_prezime>
<ime>Petar<prezime>Petrovic</ime></prezime>
</osoba>

12
Atributi

XML atributi daju podatke koji dodatno opisuju elemente XML dokumenta. Atributi imaju
svoj naziv i vrednost. Ime atributa je razdvojeno od vrednosti znakom jednakosti i razmakom,
koji je neobavezan. Vrednost atributa mora biti zatvorena u navodnike ili polunavodnike. Na
primer:

<osoba rodjena=“1893” umrla=”1977”>


Petar Petrovic
</osoba>

Postoje dve oprečne struje mišljenja u vezi sa korišćenjem atributa u okviru XML dokumenta.
Po jednoj, atributi se ne bi smeli koristiti za obogaćivanje smisla sadržaja; dozvoljeni su samo
oni atributi koji ne dodaju ništa u osnovnu informaciju (kao na primer atributi koji opisuju
vrstu i veličinu fonta). Prema drugom shvatanju, atributi se mogu slobodno koristiti jer se
time smanjuje broj elemenata.

Unutar elementa XML dokumenta ne sme se naći znak < koji nema odgovarajuću
izlaznu (eng. escape) sekvencu </, jer se znak < uvek tumači kao početak etikete. Ovaj znak
se, ukoliko korisniku zatreba u tekstu, može pretvoriti u izlaznu sekvencu pomoću reference
entiteta (eng. entity reference) &lt ;, numeričke reference znaka (eng. numeric character
reference) &#60 ;, ili heksadecimalne reference znaka (eng. hexadecimal numeric character
reference) &#x3c ;. Reference entiteta i numeričke reference znaka spadaju u markiranja; pri
analiziranju XML dokumenta, markiranja se zamenjuju onim znakom na koji upućuje
referenca.

XML poseduje pet unapred definisanih entiteta. To su:

 &amp; (&, ampersend);


 &lt; (<, znak „manje od“);
 &gt; (>, znak „veće od“);
 &quot; (", običan (ravan) navodnik);

13
 &apos; (ravan polunavodnik, apostrof).

U sadržaju elemenata se samo &amp; i &lt; moraju upotrebljavati umesto & i <, dok su ostale
reference opcione.

Numeričke reference znaka liče na reference entiteta, ali umesto imena sadrže karakter # i
odgovarajući broj. Na primer, pošto je znak ,,manje od“ u Unicode sistemu definisan kao kod
60, numerička referenca znaka bila bi &#60 ;, dok bi u heksadecimalnoj numeričkoj referenci
znaka bila &#x3c ; (gde je ,,х“ prefiks koji ukazuje na heksadecimalni sistem).

Ove reference mogu se koristiti samo u sadržaju elemenata i vrednostima atributa, dok su u
imenima elemenata, imenima atributa, kao i u drugim vrstama markiranja nedopustive.

Pravilnost XML dokumenta

Za svaki XML dokument koji je kreiran u skladu sa sintaksičkim pravilima može se reći da je
dobro oblikovan (eng. well-formed). Sve dokumente koji nisu u skladu sa ovim pravilima,
programi za obradu XML-a (eng. XML processors) odbijaju.

Dobro oblikovan dokument mora da zadovoljava određena pravila. Na primer:

 za svaki XML dokument mora postojati tačno jedan korenski element;


 svaki element koji nije prazan mora imati početnu etiketu i odgovarajuću završnu
etiketu;
 prazan element može biti označen oznakom praznog elementa (kao što je <br/>, što je
ekvivalentno <br> </br>);
 sve vrednosti atributa moraju biti zatvorene u navodnike ili polunavodnike;
 elementi mogu biti ugnežđeni, ali se ne smeju preklapati, a svaki element, osim
korenskog, mora se u potpunosti sadržati u drugom elementu;
 jedan element ne sme imati dva istoimena atributa;
 unutar oznaka ne smeju se koristiti komentari ni instrukcije za obradu;
 znakovi < ili & koji nisu pretvoreni u izlaznu sekvencu ne smeju se naći u znakovnim
podacima elemenata i atributa;
 nazivi elemenata mogu sadržati slova, brojeve i posebne znakove, moraju počinjati
slovom, ali ne smeju počinjati tekstom xml ni XML, a ne smeju sadržati ni praznine;
 takođe, imena elemenata su osetljiva na razliku između malih i velikih slova (eng.
case-sensitive). Tako elementi OSOBA, osoba i Osoba za XML nisu isti.

XML dokument koji je formalno ispravan, tj. dobro oblikovan, a pri tom i zadovoljava
određenu šemu, može se reći da je validan (eng. valid). Dokumenti koji šemu ne
zadovoljavaju su nevalidni (eng. invalid). To znači da validnost dokumenta zavisi od šeme sa
kojom se poredi.

Ispravno formirani XML dokumenti ima ispravnu XML sintaksu.


<?xml version="1.0" ?>
<note>
<to>Pera</to>
<from>Mika</from>
<subject>pozdrav</subject>
<body>Puno pozdrava iz Beograda</body>
</note>

14
Ispravni XML dokumenti poštuju DTD. Oni su ispravno formirani XML dokumenti koji
poštuju pravila DTD-a:
Ovde je InternalNote.dtd eksterna definicija tipa dokumenta. O DTD-u će više biti reči .
<?xml version="1.0"?><!DOCTYPE note SYSTEM "InternalNote.dtd">
<note>
<to>Pera</to>
<from>Mika</from>
<subject>pozdrav</subject>
<body>Puno pozdrava iz Beograda</body>
</note>
XML parser verifikuje da li je XML dokument dobro-oformljen cita dokument i
konvertuje ga u hijerahijsku strukturu i prenosi parsirani dokument do krajnje
aplikacije.

DTD
W3C(World Wide Web Consortium) je ponudio dva standarda nacina za definisanje tipova
XML dokumenta, odnosno opisivanje strukture XML dokumenta:
• Document Type Definiton (DTD)
• XML Schema Definition (XSD)
Oznake koje su dopuštene u nekoj od primena XML-a mogu biti dokumentovane u šemi (eng.
schema). Definicija tipa dokumenta (engl. 'document type definition', DTD) je najrašireniji
jezik za XML šeme. On je ujedno i jedini definisan u samoj specifikaciji XML-a. DTD
određuje gde se i kako u dokumentu mogu pojaviti sve etikete koje su dozvoljene. Za XML
DTD-ovi su opcioni, a ne obavezni, ali nisu uvek dovoljni. Osim DTD-a postoje i drugi jezici
za opisivanje šema, kao što su XML Schema Language, RELAX NG, Schematron, Hook,
Examplotron itd.
Svrha DTD-a je da definiše legalne gradivne blokove XML dokumenta. DTD definiše
strukturu dokumenta sa listom elemenata. XML šema je na XML-u bazirana alternativa
DTD-u.

Prikazivanje na web-u

XML dokumenti ne sadrže informacije o tome kako određene podatke treba prikazivati, jer je
XML jezik za opis podataka. Bez korišćenja CSS (Cascading Stylesheet-s}) или -{XSL
(Extensible Stylesheet Language Transformations) atributa XML dokument je na internetu
prikazan kao običan XML tekst. Neki internet pretraživači prikazuju XML dokument kao
stablo, pri čemu delovi strukture mogu biti prikazani ili sakriveni klikom miša.

XML podaci mogu se prikazati pomoću HTML-a. XML i HTML koriste znakove „< >“ za
kreiranje elemenata i atributa strukture.

15
U XML dokumentu se naziv CSS (Cascading Stylesheets) datoteke koja ga formatira navodi
na određeni način. Povezivanje se vrši unutar XML dokumenta. Na primer:

<?xml version=”1.0” encoding=”UTF-8”?>


<?xml-stylesheet type=”text/css” href=”osoba.css”?>
<osoba>

</osoba>

I naziv XSLT (Extensible Stylesheet Language Transformations) datoteke koja formatira


XML dokument navodi se na određeni način.

<?xml version=”1.0” encoding=”UTF-8”?>


<?xml-stylesheet type=”text/xsl” href=”osoba.xslt”?>
<osoba>

</osoba>

Da bi se odredila klijentska strana XSL transformacije, XML-u je potrebna sledeća instrukcija


za obradu:

<?xml-stylesheet type=”text/xsl” href=”myTransform.xslt”?>

XSLT podržava većina internet pretraživača, ali ga ne podržava pretraživač Оpera, pre verzije
9.0. Alternativa tome je da se XSL upotrebi za konvertovanje XML-a u format koji je moguće
prikazati „na serveru“, umesto da zavisi od mogućnosti pretraživača krajnjeg korisnika.
Krajnji korisnik nema predstavu o tome šta se dešavalo „iza scene“ i vidi se samo dobro
formatiran dokument.

16
Zaključak

Trenutno postoje dve verzije XML-a. Prva, XML1.0, inicijalno je definisana 1998.
godine. Od tada je pretrpela manje prepravke, ali bez novog broja verzija. Trenutno je u svom
petom izdanju, koje je objavljeno 26 novembar 2008. Široko je prihvaćena i još uvek se
preporučuje za opštu upotrebu. Druga verzija, XML 1.1, objavljena je 4. februara 2004.
XML1.1 nije u širokoj upotrebi i preporučuje se za upotrebu onima kojima su potrebna
njegova posebna svojstva.

XML 1.0 i XML 1.1 se razlikuju po karakterima koji su upotrebljeni za imena i njihove
elemente i atribute. XML 1.0 jedino dozvoljava karaktere koji su definisani u Unikod 2.0 , što
uključuje većinu svetskih jezika, a isključuje one koji su dodati u kasnije Unikod verzije.
Među isključenima su pisma Mongolije, Kambodže, Burme i druga.

Skoro bilo koji Unikod karakter može biti upotrebljen u vrednosti karaktera i atributa XML
1.1 dokumenata, čak i ako karakter nije definisan, bez obzira da li ima kodnu tačku u važećoj
vrednosti Unikoda. Pristup XML-a 1.1 je takav da su samo određeni karakteri zabranjeni, a da
je sve drugo dozvoljeno, a u XML 1.0 samo određeni karakteri su eksplicitno dozvoljeni, tako
da se XML 1.0 ne može prilagoditi dodavanju karaktera u budućim verzijama Unikoda.

U znakovnim podacima i vrednostima atributa XML 1.1 dozvoljava upotrebu više kontrolnih
znakova od drugih verzija. Zbog robusnosti većine kontrolnih karaktera koji se nalaze u
XML-u 1.1 oni moraju biti izraženi kao numeričke znakovne reference. Među podržanim
kontrolnim karakterima u XML-u 1.1 su i dve isprekidane linije koje predstavljaju prazan
prostor između karaktera. To su jedini kontrolni karakteri koji mogu biti upisani direktno.

XML-ova osnovna svrha je da olakša deljenje podataka kroz različite informacione sisteme,
posebno kroz one sisteme koji su povezani sa Internetom. Naime, kako raste www i njegov
sadržaj tako rastu i naše potrebe za informacijama (ili barem potrebe za brzinom dobijanja
istih). Pored toga, kako napreduje hardverska infrastruktura tako se menja i pogled na
internet. Internet sve manje doživljavamo kao carstvo šarenih reklama a sve više kao medijum
za ozbiljno poslovanje. Informacija na sajtu više nije nekakav statičan sadržaj već je
uglavnom živa informacija - posledica upita nad bazom a internet polako dobija atribute
mrežne infrastrukture koja liči na one tipa LAN. Ono što je nekada predstavljao HTTP za
razvoj internet danas je XML za moderno poslovanje putem interneta posebno u segmentu
B2B (Buisness to buisness – tipično veliki informacioni sistemi).

17
8

Literatura i linkovi:

Hunter D.: Od početka ...XML, CET,Beograd 2001.

http://sr.wikipedia.org/sr-el/XML

http://www.w3schools.com/xml/

http://www.w3.org/XML/

http://www.xml.com/

http://msdn.microsoft.com/en-us/library/

18

You might also like