skola xml2

Upload: zoran-nikolic

Post on 06-Jul-2018

217 views

Category:

Documents


0 download

TRANSCRIPT

  • 8/17/2019 Skola XML2

    1/16

    Škola XML-a – DTD 2/3

    UvodU prethodnom članku smo se upoznali sa XML-om. Upoznali smo njegovu strukturu,

    sintaksu i stekli smo predstavu o njegovoj nameni. Međutim priča o XML-u se tu nezavršava. Naime, iako je kao tehnologija relativno nezavisan XML se u praksi oično nemo!e posmatrati izolovano. "ostoje tehnologije koje su komplementarne i koje dopunjujuXML u logičkom smislu. #edna od tih tehnologija je $%$. $%$ ili $o&ument %'pe$e(inition )eng. de(ini&ija tipa dokumenta* je u odnosu na XML veoma liskatehnologija. +omplementarna u logičkom smislu, ona proširuje XML. Namenjena je daopisuje gradivne elemente XML dokumenta. ta to znači +ao što smo videli, XML imaneku strukturu koju sačinjavaju elementi. %a struktura je relativno (leksiilna tako da akovam trea neki kalup za podatke )što XML jeste u izvesnom smislu* potrena vam jeupravo neka de(ini&ija koja e sa jedne strane ograničiti (leksiilnost XML ali e vam kaokompenza&iju pru!iti valida&iju podataka. $rugim rečima, pomou $%$-a ete de(inisati

    strukturu dokumenta tako što ete napraviti listu dopuštenih elemenata. Na izvestan način pomou $%$-a vi mo!ete standardizovati XML dokument i na taj način ete doitiin(orma&ije o in(orma&ijama koje su standardizovane i koje posle toga mo!eterazmenjivati između aplika&ija a da pri tom udete sigurni da aplika&ija koja prima podatke nee primiti podatke koji ne odgovaraju ilo da je u pitanju (ormat, struktura ilisadr!aj.

    Šta je DTD?

    /ideli smo da je XML više konven&ija k0diranja nego programski jezik. Logika je slična

    kada je i $%$ u pitanju 1 on nije apsolutno samostalna tehnologija ve je standard kojigovori o implementa&iji XML tehnologije. Naime, kada se stvari logički dovoljnoiskomplikuju u XML-u $%$ uvodi red. Na primer, imate neke podatke u XML (ajlu. 2ve je u redu dok je ta količina podataka kojom operišete relativno mala. Lako ete pronaineispravne podatke, lako ete nai tagove koji ne sadr!e podatke i lako ete proveritisadr!aj (ajla. Međutim kada je u pitanju vei skup podataka stvari počinju da sekomplikuju a što su stvari komplikovanije vea je i mogunost greške. U takvoj situa&ijiete de(initivno po!eleti da imate način da veri(ikujete podatke. Upravo to vam $%$omoguuje. +ominovanjem XML-a i $%$-a doijate univerzalno razmenjive podatke,koji sami o sei vode računa. U prethodnom članku smo pomenuli da XML opisuje podatke i njihovu strukturu što veoma podsea na rela&ioni model aze podataka.

    2ličnost se nastavlja i u $%$-u. Naime, kao što u rela&ionoj azi podataka mo!ete postaviti neka pravila to isto mo!ete uraditi i u XML-u pomou $%$-a. Na taj načinmo!ete implementirati kompleksnu logiku u aplika&ije koje koriste XML a da pritom talogika ude laka za odr!avanje 1 smeštena je ili u sam XML (ajl ili je u posenom $%$(ajlu. 3vde dolazimo do itnog zaključka koji se odnosi na XML tehnologiju4 kada je rečo XML-u i srodnm tehnologijama radi se o logičkoj implementa&iji modela a ne toliko otehnologiji radi tehnologije. "omou XML-a logički kon&epti koji se ve du!e vremekoriste u in(orma&ionim tehnologijama doijaju novu i lakšu za upotreu, namenu a to je

  • 8/17/2019 Skola XML2

    2/16

    razmena podataka među aplika&ijama koja ima kvalitet više a to je mogunost da te podatke razume sam so(tver i da na osnovu toga mo!e da oavlja slo!enije poslove oddosadašnjih.

    Implementacija DTD-a$%$ poseduje jasna pravila koja pomalo liče na XML. $%$ se mo!e implementiratiinterno i eksterno. %o znači da $%$ mo!e iti u okviru XML (ajla ili mo!e itiimplementiran kao posean (ajl. U ovoj drugoj varijanti radi se takođe o tekstualnom(ajlu koji ima .dtd ekstenziju. 5ez ozira kako je implementiran on u oa slučaja pru!aistu (unk&ionalnost a to je valida&ija podataka. +ako ete ga implementirati zavisi odslučaja ali neka uopštena preporuka je se $%$ implementira interno kada je reč o jednostavnijoj strukturi podataka a kada se radi o slo!enijim strukturama po!eljno je da to ude eksterni (ajl jer ete na taj način i (izički razdvojiti pravila od podataka što je po!eljno sa aspekta odr!avanja a veoma je verovatno da ete $%$ de(inisati pomou

    nekakvog so(tverskog alata )na primer - XML 2p'* što opet oično zahteva eksternuimplementa&iju.

    "ostoji i prolem nasleđenih aplika&ija. Naime, in(orma&ioni sistemi evoluiraju tokomvremena a ranije pisan so(tver vremenom postaje prevaziđen u smislu da više nije ustanju da se prilagodi zahtevima poslovanja tako da XML tehnologija pru!a mehanizamda se premosti jaz između starijih aplika&ija i novog načina poslovanja. Na primer, ako posedujete neki in(orma&ioni sistem koji je oslonjen na azu podataka )ilustra&ije radineka je to nekakva (lat aza podataka ez rela&ija* pomou XML-a odnosno $%$-amo!ete simulirati rela&ioni model aze podataka a da pri tome ne intervenišete u samoj azi. 3na ostaje onakva kakva je ila a nadalje stvari (unk&ionišu kao u rela&ionom

    modelu.

    6a dalju diskusiju predla!em da razmotrimo pravila $%$ koja su relativno jednostavna au komina&ijama daju veoma slo!ene logičke modele.

    Pravila DTD-a

    "ravila su kao što je to ve pomenuto jednostavna i potreno ih je striktno poštovati. 6a početak $%$ de(iniše dopuštene elemente i njihovu strukturu u XML (ajlu. %ako se razni proizvođači so(tvera mogu dogovoriti da koriste zajedničke $%$-e prilikom razmene

    XML podataka. $%$ takođe mo!ete upotreiti i za veri(ika&iju sopstvenih podataka.

    7spravno (ormatiran XML dokument je dokument čija sintaksa je ispravna. Međutim, da i io ispravno (ormatiran dokument mora da poštuje niz pravila. 3na uključuju ali nisuograničena na sledea pravila8

    • $okument se mora sastojati od jednog ili više elemenata.• $okument mora imati samo jedan element )top element* a ostali elementi moraju

     iti ugne!đeni u top elementu.

  • 8/17/2019 Skola XML2

    3/16

    • 2vi elementi moraju imati oznake )tagove* za otvaranje i zatvaranje.7spravno (ormatiran XML dokument koji poštuje i pravila $%$-a se naziva validnimXML dokumentom. XML parseri )pro&esori* mogu da provere na osnovu $%$-a XMLdokumente. Na primer, 7nternet 9:plorer ;.< )i na dalje* mogu da provere XMLdokument.

    =ko je $%$ interno de(inisan onda je potreno da on ude ugne!đen u $3>%?"9de(ini&iju. Na primer @A$3>%?"9 osnovnielement Belement-deklara&ijeCD.Eazmotriemo primer iz prethodnog članka8

    Pera

    Mika

    po!rav

    Puno po!rava i #eo$ra!a

    6a valida&iju potreno je da proverimo sadr!aj elemenata to, from, subject, body. 2toga$%$ de(ini&ija trea da sadr!i navede elemente. 7nterna $%$ de(ini&ija i za prethodniXMl dokumenat izgledala ovako8

    @:ml versionFGH.%?"9 note B  @A9L9M9N% note )to,(rom,suje&t,od'*D  @A9L9M9N% to )I">$=%=*D  @A9L9M9N% (rom )I">$=%=*D  @A9L9M9N% suje&t )I">$=%=*D  @A9L9M9N% od' )I">$=%=*DCD

    dok je ovo ostatak XML dokumenta8

    Pera

    Mika

    po!rav

    Puno po!rava i #eo$ra!a

    %?"9 note )linijaJ* de(iniše da je ovo dokument tipa note.A9L9M9N% note )linijaK* de(iniše da note element ima sledee podelemente8

    to, from, subject, body

    A9L9M9N% to  )linija* de(iniše da je to element tipa GI">$=%=G.

  • 8/17/2019 Skola XML2

    4/16

    A9L9M9N% from )linija;* de(iniše da je from element tipa GI">$=%=G.A9L9M9N% subject )linija* de(iniše da je subject element tipa GI">$=%=G.A9L9M9N% body  )linija* de(iniše da je body element tipa GI">$=%=G.

    U varijanti sa spoljnom deklara&ijom $%$ postojae (ajl sa imenom note.dtd  koji e

    sadr!avati prethodno pomenutu de(ini&iju8@A9L9M9N% note )to,(rom,suje&t,od'*D@A9L9M9N% to )I">$=%=*D@A9L9M9N% (rom )I">$=%=*D@A9L9M9N% suje&t )I">$=%=*D@A9L9M9N% od' )I">$=%=*D

    2a $%$ stanovišta sav sadr!aj XML (ajla se mo!e klasi(ikovati kao jedan od sledeih8

    9lementi 9lements

    %agovi %ags=triuti =ttriutes9ntiteti 9ntities">$=%= parsirani karakter poda&i ">$=%=>$=%= karakter poda&i >$=%=

    2vaki od ovih elemenata emo ima svoju spe&i(ičnu (unk&iju prilikom provere na $%$ispravnost. Eazmotriemo svaki od pomenutih elemenata poseno.

    LM!TI

    9lementi su osnovni gradivni lokovi XML dokumenta. 7sto va!i i za %ML dokumente.U %ML-u element je na primer paragra( @"D3vo je paragra(@"D. U XML to je neki odtagova. Na primer u prethodnom primeru to su8 to, from, subject, body. 9lementi mogusadr!avati druge elemente ali mogu iti i prazni ili mogu sadr!avati neki tekst. U primeruelementa, @"DOvo je paragraf @"D podeljan je samo element.

    T"#$%I

    %agovi uokviruju elemente. "ostoje dve vrste tagova8 početni )na primer8 * i

    završni )na primer *. +ako su tagovi ojašnjeni u prethodnom članku ovde seneemo zadr!avati na tome jer je stvar sa tagovima relativno jednostavna.

    "tri&'ti

    =triuti pru!aju dodatne in(orma&ije o elementima. 5itna stvar kod atriuta je to da suoni uvek smešteni u početni tag elementa. "o svojoj strukturi oni su uređeni parovi po

  • 8/17/2019 Skola XML2

    5/16

    sistemu imevrednost. Na primer, GimgG elemenat ima dodatnu in(orma&iju o izvornom(ajlu8

    @img sr&FG&omputer.gi(G D

    7me elementa u gornjem primeru je GimgG. 7me atriuta je Gsr&G dok je vrednost atriuta

    G&omputer.gi(G. "ošto je elemenat prazan on se zatvara sa G G.

    ntiteti

    9ntiteti su uslovno rečeno varijale. 3ni se koriste da de(inišu tekst. Ee(eren&e entitetaukazuju na entitete. /erovatno vam je poznata %ML re(eren&a entiteta GOnsp4G koja sekoristi da se doda mesto u dokumentu. 9ntiteti se orađuju prilikom parsiranja XML parserom.

    2ledei entiteti su prede(inisani u XML-u8

    Olt4 @ )less than 1 manje od*Ogt4 D )greater than - vee od*Oamp4 O )ampersand*OPuot4 G )navodnik*Oapos4 Q )apostro(*

    +ao što mo!ete videti njihova imena su prilično aso&ijativna što je zgodno jer ih nemorate pamtiti 1 logika je sledea uvek počinju sa O iza koda sledi tekst koji opisujenjihovo značenje.

    P(D"T"

    ">$=%= je skračeni&a od Gparsed &hara&ter dataG 1 parsiranih karaktera podataka. 3noGparsiraniG je verovatno jasno ali šta tačno znači Gkarakteri podatakaG 7 ovde je stvar jednostavna )zapravo deluje komplikovano a u suštini je jednostavno* radi se o tekstukoji se nalazi između početnog i završnog taga XML elementa. 6nači napravljena jerazlika između sadr!aja elementa i njegovog naziva u logičkom smislu.

    ">$=%= je tekst koji e iti parsiran od strane parsera a tagovi unutar teksta e setretirati kao oznake.

    (D"T"

    >$=%= znači Gkarakteri podatakaG. 2lično prethodnoj logi&i >$=%= je tekst koji nee iti parsiran od strane parsera. %agovi unutar teksta nee se tretirati kao oznake a entetinee iti prikazani.

  • 8/17/2019 Skola XML2

    6/16

    Deklari)anje elemenata

    U $%$-u, XML elementi se deklarišu pomou $%$ deklara&ije elemenata. $eklara&ijaelemenata je u logičkom smislu veoma slična deklara&ijama koje nalazimo na proizvodima. Na primer u deklara&iji keksa piše da su sastoj&i rašno, šeer, kakao itd.

    2lična stvar je i kod $%$-a samo što su u tom slučaju sastoj&i sami elementi XMLdokumenta. $eklara&ija se razlikuje od one na keksu i ima neka pravila koja se moraju poštovati. 2intaksa je jedno od njih i ona izgleda ovako8

    @A9L9M9N% elemenat-ime kategorijeD

    ili

    @A9L9M9N% ime-elementa)sadr!aj-elementa*D

    Pra*ni elementi

    "razni elementi se deklarišu pomou ključne reči kategorije 9M"%?. @A9L9M9N% ime-elementa 9M"%?D

    $%$ primer8@A9L9M9N% oznaka 9M"%?D"rimer@oznaka D

    3vde je elemet sa imenom oznaka deklarisan kao prazan elemenat.

    lementi koji )adr+e )amo karakter podatke

    9lementi koji sadr!e samo karakter podatke se deklarišu sa I">$=%= unutar zagrada8

    @A9L9M9N% ime-elementa )I">$=%=*D

    $%$ primer8@A9L9M9N% suje&t )I">$=%=*D

    3vde je elemet sa imenom oznaka deklarisan da sadr!i samo karakter podatke.

    lementi )a &ilo koji )adr+ajem

    9lementi koji su deklarisani sa ključnom rečju kategorije =N? mogu da sadr!e ilo kojukomina&iju podataka koji se mogu parsirati.

     @A9L9M9N% ime-elementa =N?D

  • 8/17/2019 Skola XML2

    7/16

    $%$ primer8@A9L9M9N% note =N?D3vde je elemet sa imenom poruka deklarisan da sadr!i ilo koje podatke.

    lementi koji )adr+e podelemente ,)ekvence9lementi koji sadr!e podelemente )takvi elementi se često nazivaju sekven&e podelemenata* se de(inišu sa imenima podelemenata u zagradi.

    @A9L9M9N% ime-elementa )ime-podelementa*D

    ili ako je više podelemenata

    @A9L9M9N% element-name )ime-podelementa, ime-podelementa,.....*D

    $%$ primer8@A9L9M9N% note )to,(rom,suje&t,od'*D

    Međutim ovde trea oratiti pa!nju na jedan sitan detalj. Naime, kada se podelementideklarisani na ovaj način8

    @A9L9M9N% note )to,(rom,suje&t,od'*D

    onda se oni moraju u XML dokumentu pojavljivati ovim redosledom8

    to

    (romsuje&t od'

    znači istim redosled kojim su i deklarisani. 3vakva vrsta deklara&ije se nazivasekven&ijalna deklara&ija )postoji i potpuna deklara&ija*. "otpuna deklara&ija poruke iizgledala ovako8

    @A9L9M9N% note )to,(rom,suje&t,od'*D@A9L9M9N% to )I">$=%=*D@A9L9M9N% (rom )I">$=%=*D

    @A9L9M9N% suje&t )I">$=%=*D@A9L9M9N% od' )I">$=%=*D

    U potpunoj deklara&iji podelementi mogu imati dalje podelemente.

    Deklari)anje )amo jedno. pojavljivanja i)to. elementa

  • 8/17/2019 Skola XML2

    8/16

    Upotreom $%$-a mo!ete odrediti koliko puta e se neki sadr!aj pojavljivati u XMLdokumentu. %ako na primer mo!ete odrediti da se jedan element mo!e pojaviti samo jeadnput u XML dokumentu. =ko se kojim slučajem elemenat pojavi još koji put pojavie se greška prilikom valida&ije dokumenta.

    @A9L9M9N% ime-elementa )ime-podelementa*D$%$ primer8@A9L9M9N% note )message*D

    U prethodnom primeru je deklarisano da se podelement message mo!e pojaviti samo jedanput u note elementu.

    Deklari)anje &arem jedno. pojavljivanja i)to. elementa

    Mo!ete deklarisati da se elemant mora pojaviti jedanput ili više puta u dokumentu.

    @A9L9M9N% ime-elementa )ime-podelementaR*D

    $%$ primer8@A9L9M9N% note )messageR*D

    6nak R naznačuje da se podelement message mora pojaviti jednom ili više puta.

    Deklari)anje n'la ili vie pojavljivanja i)to. elementa

    Mo!ete deklarisati da se elemant mora pojaviti nula ili više puta u dokumentu.

    @A9L9M9N% ime-elementa )ime-podelementaS*D

    $%$ primer8@A9L9M9N% note )messageS*D

    6nak S naznačuje da se podelement message mora pojaviti nula ili više puta.

    Deklari)anje n'la ili jedno. pojavljivanja i)to. elementa

    Mo!ete deklarisati da se elemant mora pojaviti nula ili jedanput u dokumentu.

    @A9L9M9N% ime-elementa )ime-podelementa*D

    $%$ primer8@A9L9M9N% note )message*D

  • 8/17/2019 Skola XML2

    9/16

    6nak naznačuje da se podelement message mora pojaviti nula ili jedanput.

    Deklari)anje ili  )adr+aja

    $a i se postigla (leksiilnost prilikom deklara&ija postoji i op&iona deklara&ija. %o značida mo!ete deklarisati više elemenata od koji se mora pojavljivati jedan od njih.

    $%$ primer8@A9L9M9N% note )to,(rom, suje&t,)messageTod'**D

    U prethodnom primeru, moraju se pojavljivati u note elementu sledei podelementi8to(romsuje&t

    i mora se pojaviti samo message ili samo od' podelement.

    Deklaracija meovito. )adr+aja

    Mo!ete kominovati sadr!aj prilikom deklara&ije. +ominovanjem sadr!aja posti!ete potpunu (leksiilnost a da pritom zadr!avate osnovnu prednost $%$-a 1 a to je kontrolasadr!aja XML dokumenta.

    $%$ primer8@A9L9M9N% note )I">$=%=TtoT(romTsuje&tTmessage*SD

    U prethodnom primeru element note mo!e sadr!avati parsirane karakter podatke ili ilokoji roj to, (rom, suje&t, message elemenata. 

    Deklaracija atri&'ta

    U $%$-u, atriuti se deklarišu u =%%L72% deklara&iji.

    Deklarisanje artibuta

    $eklara&ija atriuta ima sledeu sintaksu8

    @A=%%L72% ime-elementa ime-atriuta tip-atriuta podrazumevana-vrednostD

    $%$ primer8@A=%%L72% vrsta uplate >$=%= GgotovinaGD

    ekvivalentni XML primer8

  • 8/17/2019 Skola XML2

    10/16

    @vrsta uplateFGgotovinaG D

    %ip atriuta mo!e imati sledee vrednosti8

    CDATA atriut ima vrednost karakter podataka

     en!"en#"$$% vrednost mora iti jedna od navedenih vrednosti u listi &D vrednst je jedinstveni identi(ikator )nema ponavljanja* &D'() vrednost je re(eren&a na 7$ drugog elementa. &D'()* vrednost je lista drugih 7$ 

    +TO-(+ vrednost je validno XML ime +TO-(+* vrednost je lista validnih XML imena 

    (+T&T. vrednost je entitet (+T&T&(* vrednost je lista entiteta +OTAT&O+ vrednost je ime nota&ije ml8 vrednost je prede(inisana :ml vrednost 

     podrazumevana vrednost mo!e iti neka od sledeih8

    0odra1umevana vrednost atributa

     2D()A34T vrednost podrazumevena vrednost atriuta 2'(53&'(D vrednost atriuta mora iti dodata 2&04&(D atriut ne mora iti dodat 2)&6(D vrednost vrednost atriuta je (iksna

     Primeri deklaracije atributa:

    3pšti $%$ primer8

  • 8/17/2019 Skola XML2

    11/16

    @A9L9M9N% provougaonik 9M"%?D@A=%%L72% pravougaonik visina >$=%= GH

  • 8/17/2019 Skola XML2

    12/16

    $%$ primer8@A=%%L72% li&ni roj >$=%= IE9U7E9$D

    XML primer8

    @li&ni rojFG;VVG D6ahtevana vrednost atriuta se mo!e koristiti kada nemate podrazumevanu vrednost ali!elite da atriut ipak ude unet.

    2)&6(D vrednost

    2intaksa8@A=%%L72% ime-elementa ime-atriuta tip-atriuta IY7X9$ GvrednostGD

    $%$ primer8

    @A=%%L72% posiljala& >$=%= IY7X9$ GMi&roso(tGD

    XML primer8@posiljala&FGMi&roso(tG D

    Yiksna vrednost atriuta se koristi kada ne !elite da se menja vrednost nekog atriuta.=ko se vrednost nekim slučajem promeni XML parser e vratiti grešku.

    n'meri)ani atri&'ti

    2intaksa8@A=%%L72% ime-elementa ime-atriuta )enHTenJT..* Gpodrazumevana vrednostGD

    $%$ primer8@A=%%L72% vrsta uplate )&ekTgotovina* GgotovinaGD

    XML primer8@vrsta uplateFGgotovinaG Dili

    @ vrsta uplate FG&ekG D

    9numerisane atriute mo!ete koristiti kada !elite da vrednost atriuta ude jedna odunapred de(inisanih (iksnih vrednosti.

    Deklaracija entiteta

    9ntiteti su promenljive koje predstavljaju preči&e do nekog zajedničkog teksta.

  • 8/17/2019 Skola XML2

    13/16

    • 9ntiteti mogu iti deklarisani interno ili eksterno.

    &nterna deklaracija entiteta

    2intaksa8 @A9N%7%? ime-entiteta Gvrednost-entitetaGD

    $%$ primer8@A9N%7%? autor G"era "eri&GD  @A9N%7%? godina GJ

  • 8/17/2019 Skola XML2

    14/16

    var :ml$o& F neZ =&tiveX3je&t)GMi&roso(t.XML$3MG*:ml$o&.as'n&FG(alseG:ml$o&.validate3n"arseFG(alseG:ml$o&.load)Gnote[dtd[error.:mlG*

    do&ument.Zrite)G@rD9rror >ode8 G*do&ument.Zrite):ml$o&.parse9rror.error>ode*do&ument.Zrite)G@rD9rror Eeason8 G*do&ument.Zrite):ml$o&.parse9rror.reason*do&ument.Zrite)G@rD9rror Line8 G*do&ument.Zrite):ml$o&.parse9rror.line*

    DODAT+& 0'&('& DTD dokumenata

    DTD 1a T7 program

    @A$3>%?"9 %/"E3\E=MB @A9L9M9N% %/"E3\E=M )+=N=LR*D

    @A9L9M9N% +=N=L )5=N9E,$=NR*D@A9L9M9N% 5=N9E )I">$=%=*D@A9L9M9N% $=N )$=%UM,)"E=6N7+T9M727#=R**RD@A9L9M9N% "E=6N7+ )I">$=%=*D@A9L9M9N% $=%UM )I">$=%=*D@A9L9M9N% 9M727#= )/E9M9,N=67/,3"72*D@A9L9M9N% /E9M9 )I">$=%=*D@A9L9M9N% N=67/ )I">$=%=*D@A9L9M9N% 3"72 )I">$=%=*D

    @A=%%L72% %/"E3\E=M 7M9 >$=%= IE9U7E9$D@A=%%L72% +=N=L "E3\E=M >$=%= IE9U7E9$D@A=%%L72% 9M727#= %E=#=N#9 >$=%= I7M"L79$D@A=%%L72% N=67/ \L9$=N32% >$=%= I7M"L79$D@A=%%L72% N=67/ #967+ >$=%= I7M"L79$D

    CD 

    DTD 1a novinski 9lanak

    @A$3>%?"9 N3/7N2+7>L=N=+B @A9L9M9N% N3/7N2+7>L=N=+ )>L=N=+R*D

    @A9L9M9N% >L=N=+)N=2L3/,"3$N=2L3/,U/3$,%9+2%>L=N+=,N="3M9N9*D

  • 8/17/2019 Skola XML2

    15/16

    @A9L9M9N% N=2L3/ )I">$=%=*D@A9L9M9N% "3$N=2L3/ )I">$=%=*D@A9L9M9N% U/3$ )I">$=%=*D@A9L9M9N% %9+2%>L=N+= )I">$=%=*D@A9L9M9N% N="3M9N9 )I">$=%=*D

     @A=%%L72% >L=N=+ =U%3E >$=%= IE9U7E9$D@A=%%L72% >L=N=+ UE9$N7+ >$=%= I7M"L79$D@A=%%L72% >L=N=+ $=%UM >$=%= I7M"L79$D@A=%%L72% >L=N=+ 76$=N#9 >$=%= I7M"L79$D@A9N%7%? N3/7N2+7>L=N=+ G>italisteGD@A9N%7%? 76$=/=> G>9%GD

    CD

    DTD 1a katalog proi1voda

    @A$3>%?"9 +=%=L3\B @A9N%7%? =U%3E G7me =utoraGD@A9N%7%? Y7EM= G"rodavni&a $elova d.o.o.GD@A9N%7%? 9M=7L Gprodavni&a]&o.'uGD@A9L9M9N% +=%=L3\ )"E376/3$R*D@A9L9M9N% "E376/3$)2"9>7Y7+=>7#9R,3">7#9,>9N=R,N="3M9N9*D@A=%%L72% "E376/3$ N=M9 >$=%= I7M"L79$+=%9\3E7#= )=latT$eoT"otrosni materijal* G=latG5E3#=E%7+L= >$=%= I7M"L79$"E376/3$#=> )"roizvodja&HT "roizvodja&JT "roizvodja&K* G "roizvodja&H GL=\9E )Na lageruT"oru&enoTvan programa* GNa lageruGD@A9L9M9N% 2"9>7Y7+=>7#9 )I">$=%=*D@A=%%L72% 2"9>7Y7+=>7#9M=2= >$=%= I7M"L79$#=>7N= >$=%= I7M"L79$D@A9L9M9N% 3">7#9 )I">$=%=*D@A=%%L72% 3">7#935E=$= )MetalT"oliranoTMat* GMatG=$="%9E )Ura&unatT3p&ionalnoTNema* GNemaG/9E67#= )"ro(esionalToiTNema* G"ro(esionalGD@A9L9M9N% >9N= )I">$=%=*D@A=%%L72% >9N=M=L3"E3$=#N= >$=%= I7M"L79$/9L9"E3$=#N= >$=%= I7M"L79$UL7>= >$=%= I7M"L79$72"3EU+= >$=%= I7M"L79$D@A9L9M9N% N="3M9N9 )I">$=%=*D

    CD

  • 8/17/2019 Skola XML2

    16/16

    Pripremio Lučić Aleksandar, MCP