Xml
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Xml

on

  • 195 views

World Wide Web (Web) je svjetska mreža računala s izvorima (engl. resources) digitalne informacije. S obzirom na raznolikost digitalne informacije: tekst, slika, zvuk, video, program i dr. govorimo ...

World Wide Web (Web) je svjetska mreža računala s izvorima (engl. resources) digitalne informacije. S obzirom na raznolikost digitalne informacije: tekst, slika, zvuk, video, program i dr. govorimo općenito o izvoru informacije ili WEB dokumentu. WEB programiranje se oslanja na tri mehanizma koja čine ove izvore dostupnima najširoj svjetskoj javnosti:
1.
Jedinstvena shema imena za traženje (lociranje) izvora na mreži.
2.
Protokoli za pristup informaciji preko WEB-a, kao što je npr. HTTP protokol. Protokoli su skup standardizirane informacije za prijenos digitalnog sadržaja preko mreže.
3.
Hipertekst (engl. Hypertext) za jednostavnu navigaciju između informacijskih izvora, kao što je na primjer HTML (hypertext markup language).
Svaki izvor informacije na WEB-u (HTML ili XML dokument, slika, video, program i sl.) ima jednoznačnu adresu koja se dekodira preko URI-a (Universal Resource Identifier). URI se sastoji od tri dijela:
1.
Protokola pristupa izvoru (npr. http, ftp, mailto i sl.)
2.
Imena stroja na kojem se izvor informacije nalazi (npr. www.fsb.hr).
3.
Punog imena izvora zadanog stazom (engl. path).
URI ima različite uloge: povezivanje mjesta unutar istog dokumenta, povezivanje različitih dokumenata, dohvaćenje slika, objekat

Statistics

Views

Total Views
195
Views on SlideShare
195
Embed Views
0

Actions

Likes
0
Downloads
3
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Xml Presentation Transcript

  • 1. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 1 Web programiranje i primjene XML – eXtensible Markup Language
  • 2. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 2 HTML vs. XML HTML • osnovna namjena HTML‐a je definiranje sadržaja dokumenta • ali on nudi i mogućnost formatiranja sadržaja dokumenta dodavanjem atributa  u  početni  tag  elementa  i  pridruživanjem  dozvoljene  vrijednosti  dodanom  atributu (npr. <font color=“green”> ...</font>) • baziran je na konačnom broju tag‐ova definiranih/propisanih od strane W3C‐a – dodavanje novog taga zahtijeva promjenu propisanog standarda XML  • osnovna namjena XML‐a je pohrana, organizacija i prijenos podataka • usmjeren je na opis/definiciju podataka HTML vs. XML “HTML is about displaying information, while XML is about carrying information.” “XML is a software‐ and hardware‐independent tool for carrying information.”
  • 3. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 3 XML – osnovna svojstva XML • eXtensible Markup Language • usmjeren na opisivanje/definiranje podataka, ne na njihovu prezentaciju • XML tagovi nisu unaprijed definirani – korisnik sam definira tagove koji su  mu potrebni za opis nekog sadržaja/podataka • preporuka:  XML  tagove  dobro  je  definirati  tako  da  iz  imena  taga  bude  jasno što taj tag opisuje, tj. tako da ime taga sugerira tip sadržaja upisanog  između početnog i završnog taga • XML je standard čije korištenje preporučuje W3C
  • 4. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 4 XML – osnovni primjer • primjer jednostavnog XML dokumenta: <?xml version="1.0" encoding="ISO‐8859‐1“?> <poruka> <prima>Ana</prima> <salje>Ivo</salje> <naslov>Podsjetnik</naslov> <tekst>Nazovi me ovaj vikend!</tekst> </poruka> • upišimo  gornji  primjer  u  Notepad,  snimimo  ga  kao  xml  dokument  (npr.  poruka.xml) i otvorimo u web pregledniku  • vidimo da XML zapravo ne radi ništa; sadržaj XML dokumenta se sastoji od  informacija/podataka upisanih između tagova koje korisnik sam definira • za prikazivanje sadržaja XML dokumenta u obliku prihvatljivom za krajnjeg  korisnika “netko” mora kreirati stil i pridružiti ga XML dokumentu 
  • 5. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 5 XML ‐ elementi • XML dokument sastoji se od jednog ili više elemenata • XML element se sastoji od niti jednog, jednog ili više znakova informacije  omeđenih s dvije oznake, tj. omeđenih početnim i završnim tag‐om • tag se sastoji od imena tag‐a omeđenog znakovima ‘<‘ i ‘>’ • ime tag‐a mora biti definirano prema sljedećim pravilima: – ime tag‐a može sadržavati slova, brojeve i druge znakove (npr. povlaku  ‘‐’, podvlaku ‘_’ ili točku ‘.’) – prvi znak u imenu tag‐a ne smije biti broj niti interpunkcijski znak – ime tag‐a ne smije početi slovima xml u bilo kojoj kombinaciji velikih i  malih slova – ime tag‐a ne smije sadržavati razmake – početni i završni  tag imaju isto ime, ali  ispred  imena završnog tag‐a  nalazi se znak ‘/’ • ako XML element ne sadrži niti jedan znak informacije, onda se početni i  završni tag mogu reducirati u jedan tag sljedećeg oblika: <tag/> • Primjer: http://www.w3schools.com/xml/xml_elements.asp
  • 6. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 6 XML ‐ atributi • XML element može imati jedan ili više atributa koji se dopisuju iza imena  početnog tag‐a, a svrha im je dodatno opisivanje sadržaja XML elementa • svaki atribut ima ime kojem je znakom ‘=’ pridružena vrijednost omeđena  ‘jednostrukim’ ili “dvostrukim” navodnicima, npr. <tag atribut1=‘vrijednost1’ atribut2=‘vrijednost2’>...</tag> <tag atribut1=“vrijednost1” atribut2=“vrijednost2”>...</tag> • primjer:  http://www.w3schools.com/xml/xml_attributes.asp
  • 7. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 7 XML ‐ sintaksa • komentare u XML dokumentu pišemo na sljedeći način: <!‐‐ Ovo je komentar‐‐>  • svi elementi moraju imati početni i završni tag: <tag>netočno strukturiran XML element <tag>točno strukturiran XML element</tag> • XML  deklaracija  <?xml  version="1.0" encoding="ISO‐8859‐1"  > zapravo  nije  dio  XML dokumenta i nema završni tag • XML tagovi su osjetljivi na mala i velika slova (eng. case sensitive): <Tag>netočno strukturiran XML element</tag>  <tag>točno strukturiran XML element</tag> • XML  elementi  moraju  biti  pravilno  “ugnježdeni” (eng.  nested)  – LIFO  struktura  (Last In – First Out) <tag1><tag2>netočno strukturiran XML element</tag1></tag2>  <tag1><tag2>točno strukturiran XML element</tag2></tag1> • XML dokument mora imati korijenski ili root element • za sintaktički ispravan XML dokument kažemo da je well‐formed
  • 8. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 8 XML – posebni znakovi • neki znakovi u XML‐u imaju posebno značenje: – ‘<’ uvijek označava prvi znak u početnom tag‐u XML elementa (ako se  pojavi unutar XML elementa generirat će grešku) – slično se događa s upotrebom znaka ‘&’ – primjer: http://www.w3schools.com/xml/xml_syntax.asp • stoga u XML‐u za ove (i neke druge) znakove koristimo sljedeće kodove: ‘<‘ ‐ &lt;      ‘>’ ‐ &gt;     ‘&’ ‐ &amp;      ‘ ‐ &apos; “ ‐ &quot; • za umetanje drugih posebnih znakova koristimo njihove heksadecimalne  ekvivalente kojima prethode znakovi ‘&#x’, npr. za znak © koristimo kod  ‘&#xA9 ’, gdje je heksadecimalni broj ‘A9’ ekvivalent ASCII znaka ©
  • 9. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 9 XML – struktura osnovnog primjera • <?xml version="1.0 " encoding="ISO‐8859‐1“?>  XML  deklaracija  koja  definira  verziju  XML‐a  (version="1.0")  i  kodnu  stranicu (encoding="ISO‐8859‐1 " ‐ Latin‐1/West European character set) • <poruka> početni  tag  tzv.  korijenskog  elementa  (eng.  root‐element)  XML  dokumenta • <prima>Ana</prima> <salje>Ivo</salje> <naslov>Podsjetnik</naslov> <tekst>Nazovi me ovaj vikend!</tekst> četiri podelementa (eng. child‐elements) korijenskog elementa • </poruka> završni (dočetni) tag koji definira kraj korijenskog elementa • vidimo da XML dokument ima strukturu stabla
  • 10. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 10 XML ‐ struktura • svaki XML dokument ima strukturu stabla  • mora sadržavati korijenski element (eng. root‐element) ‐ nadelemet (eng. parent  element) svih ostalih elemenata u XML dokumentu • svi  elementi  XML  dokumenta  su  podelementi (eng.  child‐elements)  korijenskog  elementa • svaki element XML dokumenta može sadržavati vlastite podelemente • generalna struktura XML dokumenta <root> <child> <subchild1>...</subchild1> <subchild2>...</subchild2>  </child> </root> • termine  parent,  child i  sibling  koristimo  kako  bismo  opisali  odnose  među  elementima XML dokumenta – parent je nadelement child elementa, a elementi  na istoj razini nazivaju se sibling elementima • primjer: http://www.w3schools.com/xml/xml_tree.asp
  • 11. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 11 XML – prostor imena • XML  prostor  imena  (eng.  namespace)  – otklanja  mogućnost podudaranja imena elemenata koji u  različitim XML  dokumentima mogu imati različit smisao,  atribute i  root‐elemente,  tj.  omogućava  da  se  isti  naziv  elementa  koristi za različite svrhe • ako  ova  dva  XML  dokumenta  spojimo  u  jedan  dolazi  do  sukoba  oko  imena  početnog tag‐a – početni <table> tag‐ovi imaju isto ime, ali potpuno različito  značenje i sadržaj XML dokument koji sadrži informacije  o HTML tablici XML dokument koji sadrži informacije  o stolu <table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table> <table> <name>African Coffee Table</name> <width>80</width> <length>120</length> </table>
  • 12. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 12 XML – prostor imena • Sukob  oko  istog  imena  elementa  s  različitim  značenjem  i  sadržajem  rješava  se  uvođenjem  prefiksa  koji  se  dodaje  ispred  imena  tag‐a  i  od  imena tag‐a se odvaja dvotočkom XML dokument koji sadrži  informacije o HTML tablici XML dokument koji sadrži  informacije o stolu <h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee  Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table>
  • 13. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 13 XML – prostor imena • prostoru  imena  može  se  dodijeliti  neka vrijednost  ‐ najčešće  adresa  s  koje  potječe dokument čije karakteristike su sadržaj XML dokumenta • vrijednost  prostora  imena  definiramo  pridruživanjem  određene  vrijednosti  atributu  xmlns unutar  početnog  tag‐a  XML  elementa  u  kojem  koristimo  oznaku  (prefiks)  prostora imena: xmlns:prefiks‐prostora‐imena=“prostor‐imena“ npr. xmlns:f="http://www.w3schools.com/furniture" • primjer:  <root> <h:table xmlns:h="http://www.w3.org/TR/html4/"> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table xmlns:f="http://www.w3schools.com/furniture"> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root> 
  • 14. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 14 XML – prostor imena • primjer: vrijednost prostora imena  možemo specificirati  i  kao vrijednost  xmlns atributa unutar početnog tag‐a root elementa <root xmlns:h="http://www.w3.org/TR/html4/" xmlns:f="http://www.w3schools.com/furniture"> <h:table> <h:tr> <h:td>Apples</h:td> <h:td>Bananas</h:td> </h:tr> </h:table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root> 
  • 15. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 15 XML – prostor imena • pretpostavljeni  (default)  prostor  imena  ‐ ako se  neki prostor imena  često koristi možemo definirati prepotstavljeni (default) prostor imena i time izbjeći stalno pisanje  oznake (prefiksa) prostora imena • primjer: <root xmlns="http://www.w3.org/TR/html4/" xmlns:f="http://www.w3schools.com/furniture"> <table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root>  • primjer: http://www.w3schools.com/xml/xml_namespaces.asp
  • 16. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 16 XML – prostor imena • prazan prostor imena – ako nekim elementima XML dokumenta ne želimo pridružiti  prostor imena, onda kao pretpostavljenu vrijednost prostora imena definiramo prazan  niz znakova, tj. atributu xmlns pridružimo prazan niz znakova • primjer: <root xmlns="" xmlns:f="http://www.w3schools.com/furniture"> <table> <tr> <td>Apples</td> <td>Bananas</td> </tr> </table> <f:table> <f:name>African Coffee Table</f:name> <f:width>80</f:width> <f:length>120</f:length> </f:table> </root> 
  • 17. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 17 XML ‐ valjanost • valjan XML dokument – sintaktički  ispravan  (well‐formed)  XML  dokument  koji  poštuje  definirana pravila logičke povezanosti elemenata, atributa i sadržaja – ukratko, sintaktički i logički ispravan XML dokument • logička  valjanost  XML  dokumenta  je  određena  shemom  pravila  koja  su  definiranim  u  samom  XML  dokumentu  ili  u  posebnom  dokumentu  na  kojeg  se  pozivamo  u  XML  dokumentu;  postoje  dva  pristupa  ovom  problemu – DTD (Document Type Definition) shema pravila – XML Schema pravila (alternativa DTD‐u podržana od strane W3C‐a) • oba pristupa određuju koje elemente XML dokument smije sadržavati te  propisuje redosljed i brojnost pojavljivanja dozvoljenih elemenata • valjanost XML dokumenta se provjerava u odnosu na određenu Document  Type Definition (DTD) ili XML Schemu pravila • dokument sheme specificira se u zaglavlju XML dokumenta
  • 18. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 18 DTD – Document Type Definition
  • 19. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 19 XML – DTD shema • DTD – definira strukturu XML dokumenta pomoću liste dozvoljenjih elemenata  i atributa • u XML dokument može se uključivati na dva načina: – unutarnja DTD deklaracija <?xml version="1.0" encoding="ISO‐8859‐1“?> <!DOCTYPE root‐element [DTD‐deklaracije‐elemenata]> <root‐element> ... </root‐element> – vanjska DTD deklaracija <?xml version="1.0" encoding="ISO‐8859‐1“?> <!DOCTYPE root‐element SYSTEM “DTD_shema_pravila.dtd"> <root‐element> ... </root‐element>
  • 20. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 20 XML – DTD elementi • svaki element opisuje se deklaracijom  sljedećeg oblika: <!ELEMENT     ime_elementa     pravilo> • ‘pravilo’  u  deklaraciji  XML  elementa  određuje  tip  sadržaja  konkretnog  elementa: – <!ELEMENT     ime_elementa     ANY>  sadržaj elementa mogu biti znakovni podaci, ali ne i novi (ugnježdeni)  tag‐ovi – <!ELEMENT     ime_elementa     (#PCDATA)>  sadržaj elementa mogu biti samo znakovni podaci (PCDATA – parsed  character data)  “PCDATA is text that will be parsed by a parser” (www.w3schools.com) “CDATA is text that will NOT be parsed by a parser” (www.w3schools.com) – <!ELEMENT     ime_elementa     EMPTY>  element nema informacijskog sadržaja – primjer: http://www.w3schools.com/dtd/dtd_elements.asp
  • 21. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 21 XML – DTD elementi • ako neki element ima child‐elemente (npr. svi elementi XML dokumenta  su  child‐elementi  root‐elementa),  onda  njegova  deklaracija  ima  sljedeći  oblik: <!ELEMENT ime_elementa     (child1, child2,...)> • child‐elementi  se  u  prethodnoj  deklaraciji  upisuju  redosljedom  kojim  se  pojavljuju u samom XML dokumentu • primjer: DTD deklaracija za osnovni primjer (s početka predavanja) <!ELEMENT poruka (prima, šalje, naslov, tekst)> <!ELEMENT prima (#PCDATA)> <!ELEMENT šalje (#PCDATA)> <!ELEMENT naslov (#PCDATA)> <!ELEMENT tekst (#PCDATA)>
  • 22. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 22 XML – DTD elementi • Ime  elementa  u  DTD  deklaraciji  može  se  proširiti  tzv.  operatorom  pojavljivanja, npr. – <!ELEMENT ime_elementa     (ime_child_elementa)> <!ELEMENT poruka    (naslov)> element naslov se pojavljuje točno jedanput unutar elementa poruka – <!ELEMENT ime_elementa     (ime_child_elementa+)> <!ELEMENT poruka    (naslov+)> element  naslov  se  pojavljuje  jedan  ili  više  puta  unutar  elementa  poruka – <!ELEMENT ime_elementa     (ime_child_elementa*)> <!ELEMENT poruka    (naslov*)> element naslov se pojavljuje nula ili više puta unutar elementa poruka
  • 23. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 23 XML – DTD elementi – <!ELEMENT ime_elementa     (ime_child_elementa?)> <!ELEMENT poruka    (naslov?)> element naslov se pojavljuje nula ili jedanput unutar elementa poruka – <!ELEMENT ime_elementa     (child1, child2, (child3|child4))> <!ELEMENT poruka    (prima, šalje, (naslov|tekst))> element poruka mora sadržavati točno jedno pojavljivanje elemenata  prima  i  šalje  te  točno  jedno  pojavljivanje  ili  elementa  naslov  ili  elementa tekst
  • 24. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 24 XML – DTD elementi • primjer: (unutarnja DTD shema) <!DOCTYPE knjiga [  <!ELEMENT knjiga ((naslov, autor,  izdavač)* | pregled+ )  <!ELEMENT naslov (#PCDATA)>  <!ELEMENT autor (ime_autora+)>  <!ELEMENT ime_autora (#PCDATA)>  <!ELEMENT izdavač (logo?)>  <!ELEMENT logo EMPTY>  ]>  • element  knjiga  je  root  element  ovog XML dokumenta • element  knjiga  može  sadržavati   ILI nula  ili više nizova elemenata  naslov,  autor  i  izdavač (u  navedenom  rasporedu)  ILI jedan  ili  više  elemenata  s  imenom  pregled • element  autor  može  sadržavati  jedan  ili  više  child‐elemenata  ime_autora • element logo (koji ne nosi nikakav  sadržaj)  može  se  pojaviti  nula  ili  jedanput  kao  child‐element  elementa izdavač
  • 25. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 25 XML – DTD atributi • deklaracija atributa u DTD‐u vrši se pomoću ATTLIST deklaracije: <!ATTLIST ime‐elementa ime‐atributa tip‐atributa podrazumijevana‐vrijednost‐atributa> • primjer: – prazni XML element:           <placanje nacin= "kartica" /> – pripadna DTD deklaracija atributa “nacin”:           <!ATTLIST placanje nacin CDATA "kartica"> • tipovi atributa http://www.w3schools.com/dtd/dtd_attributes.asp • podrazumijevane (eng. default) vrijednosti atributa: #DEFAULT, #REQUIRED, #IMPLIED, #FIXED
  • 26. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 26 XML – DTD atributi podrazumijevana vrijednost atributa primjer: dio DTD sheme <!ELEMENT kvadrat EMPTY> <!ATTLIST kvadrat stranica CDATA "5"> • element  “kvadrat” ne  nosi  nikakav  sadržaj  (tj.  “kvadrat” je  prazan  element)  i  sadrži  atribut  “stranica” čija  je  vrijednost  tipa  CDATA  i  podrazumijevana  vrijednost  je  jednaka  pet  (tj.  stranica=“5”) primjer: XML element <kvadrat stranica="100" /> • ako vrijednost atributa “stranica” nije specificirana, atribut stranica  poprima  podrazumijevanu  vrijednost “5” • u gornjem slučaju atribut stranica  poprima vrijednost “100”
  • 27. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 27 XML – DTD atributi podrazumijevana vrijednost atributa dio DTD sheme • sintaksa: <!ATTLIST ime‐elementa ime‐atributa tip‐atributa  #IMPLIED> • primjer: <!ATTLIST kontakt mobitel CDATA  #IMPLIED>  objašnjenje i XML element • vrijednost  #IMPLIED  koristi  se  u  slučaju  kada  taj  atribut  nije  obavezno  uključiti  u  element  i  kada  mu  nije  moguće  pridružiti  neku  podrazumijevanu  vrijednost. • XML element: <kontakt  mobitel=“0981234567" />
  • 28. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 28 XML – DTD atributi zahtijevana vrijednost atributa dio DTD sheme • sintaksa: <!ATTLIST ime‐elementa ime‐atributa tip‐atributa  #REQUIRED> • primjer: <!ATTLIST osoba JBMG CDATA #REQUIRED>  objašnjenje i XML element • vrijednost #REQUIRED koristi se u  slučaju kada atributu nije moguće  pridružiti  neku  podrazumijevanu  vrijednost,  ali  kada  želimo  da  atribut obavezno bude prisutan u  određenom elementu • XML element: <osoba JMBG=“1412956123456”>
  • 29. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 29 XML – DTD atributi fiksirana vrijednost atributa dio DTD sheme • sintaksa: <!ATTLIST ime‐elementa ime‐atributa tip‐atributa #FIXED "vrijednost"> • primjer: <!ATTLIST sender  company  CDATA  #FIXED "Microsoft">  objašnjenje i XML element • vrijednost  #FIXED  koristi  se  u  slučaju  kada  želimo  da  atribut  ima  fiksiranu  vrijednost  koju  ni  sam autor ne može promijeniti • ako  autor  primijeni  vrijednost  atributa  koji  je  tipa  #FIXED,  XML  parser prijavljuje grešku • XML element: <sender company="Microsoft" />
  • 30. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 30 XML – DTD atributi lista vrijednosti atributa dio DTD sheme • sintaksa: <!ATTLIST ime‐elementa ime‐atributa (vr1|vr2|..)  podrazumijevana‐vrij> • primjer: <!ATTLIST placanje nacin (gotovina|kartica)  “gotovina">  objašnjenje i XML element • listu  vrijednosti  atributa  (eng.  enumerated  attribute  values)  koristimo  kada  želimo  da  atribut  poprimi  jednu  od  ponuđenih  ili  deklariranih vrijednosti • XML element: <placanje nacin= "gotovina" />  ili <placanje nacin= "kartica" />
  • 31. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 31 XML – DTD primjer • proanalizirajmo sljedeće primjere DTD shema pravila koje definiraju  strukturu nekih XML dokumenata: http://www.w3schools.com/dtd/dtd_examples.asp
  • 32. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 32 XML Schema
  • 33. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 33 XML Schema • XML Schema – osnovna svojstva – definira elemente i atribute koji se mogu pojaviti u XML dokumentu – određuje  koji  elementi  su  child‐elementi  te  određuje  njihov  broj  i  raspored pojavljivanja u XML dokumentu – definira tip elemenata (prazan element, tekstualni element) – definira tip podataka za elemente i atribute – definira podrazumijevane i fiksiriane vrijednosti elemenata i atributa • XML Schema ‐ upotreba – alternativa DTD shemi pravila – W3C preporuka za definiranje strukture XML dokumenta
  • 34. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 34 XML Schema • vanjska (eng. external) XML Schema za jednostavni XML dokument : <?xml version="1.0"?> <poruka xmlns=http://www.w3schools.com xmlns:xsi=http://www.w3.org/2001/XMLSchema‐instance xsi:schemaLocation=  http://www.w3schools.com/schema/poruka.xsd> <prima>Ana</prima> <šalje>Ivo</šalje> <naslov>Podsjetnik</naslov> <tekst>Nazovi me ovaj vikend!</tekst> </poruka> • poruka.xsd – XML Schema pravila spremljena kao posebni dokument 
  • 35. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 35 XML Schema • unutarnja (eng. internal) XML Schema za jednostavni XML dokument : <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"  targetNamespace="http://www.w3schools.com"  xmlns="http://www.w3schools.com" elementFormDefault="qualified"> <xs:element name="poruka">  <xs:complexType>  <xs:sequence>  <xs:element name="prima" type="xs:string"/>  <xs:element name="salje" type="xs:string"/>  <xs:element name="naslov" type="xs:string"/>  <xs:element name="tekst" type="xs:string"/> </xs:sequence>  </xs:complexType>  </xs:element> </xs:schema>
  • 36. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 36 XML Schema • <schema>  – root‐element  svake  XML  Scheme  koji  može  sadržavati  određene atribute: <?xml version="1.0"?> <xs:schema xmlns:xs=http://www.w3.org/2001/XMLSchema targetNamespace="http://www.w3schools.com"  xmlns=http://www.w3schools.com elementFormDefault="qualified"> ... </xs:schema>
  • 37. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 37 XML Schema • xmlns:xs=http://www.w3.org/2001/XMLSchema – znači da je elementima (schema, element, complexType, sequence) i tipovima  podataka  (string)  korištenima  u  XML  Schemi  pridružen  prostor  imena   http://www.w3.org/2001/XMLSchema – također znači da elementi i tipovi podataka kojima je pridružen ovaj prostora  imena trebaju imati prefiks xs: • targetNamespace=http://www.w3schools.com – znači  da  je  elementima  definiranima  XML  Schemom  (poruka,  prima,  salje,  naslov i tekst) pridružen prostor prostora imena http://www.w3schools.com • xmlns=http://www.w3schools.com – znači da je podrazumijevani prostor imena http://www.w3schools.com • elementFormDefault="qualified“ – znači da svaki element korišten u XML dokumentu kojemu je pridružena ova  XML Schema mora imati pridružen prostor imena određen u XML Schemi
  • 38. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 38 XML Schema – jednostavni elementi  • jednostavan element  – element koji može sadržavati samo tekst – ne može sadržavati druge elemente niti atribute • sadržaj jednostavnog elementa može biti sljedećeg tipa: – xs:string, xs:decimal, xs:integer, xs:boolean, xs:date, xs:time – http://www.w3schools.com/schema/schema_dtypes_string.asp – definiranje jednostavnog elementa: <xs:element name="xxx" type="yyy"/> • primjer: dio XML dokumenta dio pripadne XML Scheme <ime>AAAAA</ime>  <dob>28</dob>  <rodjendan> 1981‐03‐27 </rodjendan> <xs:element name= "ime" type="xs:string"/>  <xs:element name= "dob" type="xs:integer"/>  <xs:element name= "rodjendan" type="xs:date"/> 
  • 39. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 39 XML Schema – jednostavni elementi  • jednostavni  elementi  mogu  imati  ili  podrazumijevane  ili  fiksirane  vrijednosti • deklariranje podrazumijevane vrijednosti jednostavnog elementa: <xs:element name= "boja" type="xs:string" default= "zelena"/> ‐ podrazumijevana vrijednost se automatski pridružuje elementu u slučaju  da nije deklarirana neka druga vrijednost elementa • deklariranje fiksirane vrijednosti jednostavnog elementa: <xs:element name= "boja" type="xs:string" fixed= "zelena"/> ‐ fiksirana  vrijednost  se  automatski  pridružuje  elementu  i  nije  moguće  deklarirati drugu vrijednost elementa
  • 40. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 40 XML Schema – atributi  • atributi – uvijek su jednostavnog tipa, tj. mogu sadržavati samo podatke  tipa xs:string, xs:decimal, xs:integer, xs:boolean, xs:date, xs:time • definiranje atributa: <xs:attribute name="xxx" type="yyy"/> • primjer: <rijec jezik="EN">Word</rijec> <xs:attribute name=“jezik" type="xs:string"/> • atributi mogu imati ili podrazumijevanu ili fiksiranu vrijednost: – deklariranje podrazumijevane vrijednosti atributa <xs:attribute name=“jezik" type="xs:string“ default="EN"/> – deklariranje fiksirane vrijednosti atributa <xs:attribute name=“jezik" type="xs:string“ fixed="EN"/>
  • 41. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 41 XML Schema – atributi  • proizvoljni (eng. optional) i obavezni (eng. required) atributi  – podrazumijeva  se  da  je  svaki  atribut  proizvoljan  sve  dok  ga  se  ne  deklarira kao obaveznog • deklaracija atributa kao proizvoljnog ili obaveznog – pomoću  atributa  “use” koji  može  imati  vrijednost  “optional” ili  “required” u XML Schemi • primjer: – deklariranje proizvoljnog atributa <xs:attribute name=“jezik" type="xs:string " use= "optional"/> – deklariranje obaveznog atributa <xs:attribute name=“jezik" type="xs:string " use= "required"/>
  • 42. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 42 XML Schema – restrikcije vrijednosti • restrikcije vrijednosti – koriste se za kontroliranje dopuštenih vrijednosti elemenata i atributa – restrikcije vrijednosti XML elemenata zovu se “facets” • primjeri restrikcija vrijednosti elemenata i atributa: 1. restrikcija na vrijednosti između deklarirane minimalne i maksimalne  dozvoljene vrijednosti 2. restrikcija na konačan skup deklariranih vrijednosti 3. restrikcija na niz dozvoljenih vrijednosti 4. restrikcija  duljine  dozvoljene  vrijednosti  između  deklarirane  minimalne i maksimalne duljine 5. restrikcija vrijednosti proširena operatorom pojavljivanja koji deklarira  broj pojavljivanja deklarirane vrijednosti • primjer:   http://www.w3schools.com/schema/schema_facets.asp
  • 43. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 43 XML Schema – složeni elementi • složeni elementi (eng. complex elements) – XML elementi koji osim teksta  mogu sadržavati druge elemente i/ili atribute • postoje četiri vrste složenih elemenata: 1. prazni elementi 2. elementi koji sadrže samo tekst 3. elementi koji sadrže samo druge elemente 4. elementi koji sadrže i tekst i druge elemente – sve vrste složenih elemenata mogu, ali ne moraju, sadržavati atribute • primjer: 1. prazan složeni element:          <proizvod kod="12345"/> 2. složeni element koji sadrži samo tekst:           <proizvod tip=“slastica">Sladoled</proizvod>
  • 44. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 44 XML Schema – složeni elementi • primjer: 3. složeni element koji sadrži samo druge elemente: <zaposlenik>  <ime>John</ime> <prezime>Smith</prezime>  </zaposlenik> 4. složeni element koji sadrži i tekst i druge elemente: <opis>  Dogodilo se <datum jezik=“hrvatski">06.04.2010.</datum> ....  </opis>
  • 45. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 45 XML Schema – složeni elementi • definiranje  složenog  elementa  u  XML  Schemi  – promotrimo  složeni  element koji sadrži samo druge elemente: <zaposlenik>  <ime>John</ime> <prezime>Smith</prezime>  </zaposlenik>
  • 46. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 46 XML Schema – složeni elementi • prvi način definiranja složenog elementa u XML Schemi: <xs:element name= "zaposlenik">  <xs:complexType>  <xs:sequence>  <xs:element name= "ime" type="xs:string"/> <xs:element name= "prezime" type="xs:string"/>  </xs:sequence>  </xs:complexType>  </xs:element> • <xs:sequence> ‐ child  elementi  <ime>  i  <prezime>  u  XML  dokumentu  moraju se pojaviti u redoslijedu u kojem su navedeni u XML Schemi • u  ovom  slučaju  samo  element  <zaposlenik>  može  koristiti  definirani  složeni tip
  • 47. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 47 XML Schema – složeni elementi • drugi način definiranja složenog elementa u XML Schemi – od prvog se  razlikuje po deklaraciji koja omogućuje da element <zaposlenik> sadrži  atribut “type” čija vrijednost upućuje na složeni tip kojeg treba koristiti: <xs:element name="zaposlenik" type="OsobnoIme">  <xs:complexType name="OsobnoIme">  <xs:sequence>  <xs:element name= "ime" type="xs:string"/> <xs:element name= "prezime" type="xs:string"/>  </xs:sequence>  </xs:complexType>  </xs:element>
  • 48. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 48 XML Schema – složeni elementi • ovaj drugi način definiranja složenih elemenata u XML Schemi omogućuje  da više različitih elemenata koristi isti definirani složeni tip, npr. <xs:element name="zaposlenik" type="OsobnoIme"/>  <xs:element name="student" type="OsobnoIme"/>  <xs:element name="clan" type="OsobnoIme"/> <xs:complexType name="OsobnoIme">  <xs:sequence>  <xs:element name="firstname" type="xs:string"/>  <xs:element name="lastname" type="xs:string"/>  </xs:sequence>  </xs:complexType>
  • 49. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 49 XML Schema prazni složeni elementi • prazni složeni element – može sadržavati atribute – ne  može  sadržavati  nikakav  sadržaj  (niti  tekst  niti  druge  elemente)  između  svog  početnog i završnog taga • primjer:           – element:                 <proizvod kod="12345"/> – XML Schema 1:      <xs:element name="proizvod">  <xs:complexType>  <xs:attribute name="kod" type="xs:positiveInteger"/>  </xs:complexType>  </xs:element> – XML Schema 2:     <xs:element name="proizvod" type="KodProizvoda"/> <xs:complexType name="KodProizvoda">  <xs:attribute name="kod" type="xs:positiveInteger"/>  </xs:complexType>
  • 50. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 50 XML Schema tekstualni složeni elementi • tekstualni složeni element – može sadržavati tekst i atribute, tj. sadrži samo  sadržaj jednostavnog tipa • stoga deklaraciju sadržaja u XML Schemi zatvaramo u <xs:simpleContent>  </simpleContent> tagove • čim koristimo <xs:simpleContent> okruženje moramo definirati proširenje ili  restrikciju tipa podataka iz kojeg može biti vrijednosti elementa ili atributa: Proširenje... Restrikcija... <xs:element name="somename">  <xs:complexType>  <xs:simpleContent>  <xs:extension base="basetype">  .... ....  </xs:extension> </xs:simpleContent>  </xs:complexType>  </xs:element> <xs:element name="somename">  <xs:complexType>  <xs:simpleContent>  <xs:restriction base="basetype">  .... ....  </xs:restriction>  </xs:simpleContent>  </xs:complexType>  </xs:element>
  • 51. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 51 XML Schema tekstualni složeni elementi • primjer: – element:                 <BrojCipela zemlja=“hrvatska">40</BrojCipela> – XML Schema 1:       <xs:element name="BrojCipela">  <xs:complexType>  <xs:simpleContent>  <xs:extension base="xs:integer">  <xs:attribute name="zemlja" type="xs:string" />  </xs:extension>  </xs:simpleContent>  </xs:complexType>  </xs:element>
  • 52. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 52 XML Schema tekstualni složeni elementi • XML Schema 2:      <xs:element name="BrojCipela" type="TipBroja"/> <xs:complexType name="TipBroja">  <xs:simpleContent>  <xs:extension base="xs:integer">  <xs:attribute name="zemlja" type="xs:string" />  </xs:extension>  </xs:simpleContent>  </xs:complexType>
  • 53. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 53 XML Schema ‐ složeni elementi s  mješovitim sadržajem • složeni elementi s mješovitim sadržajem – mogu sadržavati tekst, atribute i druge elemente • primjer: – element:  <letter>  Dear Mr.<name>John Smith</name>.  Your order <orderid>1032</orderid> will be shipped on <shipdate>2001‐07‐13</shipdate>.  </letter> – XML Schema 1: <xs:element name="letter">  <xs:complexType mixed="true">  <xs:sequence>  <xs:element name="name" type="xs:string"/>  <xs:element name="orderid" type="xs:positiveInteger"/>  <xs:element name="shipdate" type="xs:date"/>  </xs:sequence>  </xs:complexType>  </xs:element>
  • 54. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 54 XML Schema – složeni elementi s  mješovitim sadržajem • primjer: – XML Schema 2: <xs:element name="letter" type="lettertype"/> <xs:complexType name="lettertype" mixed="true">  <xs:sequence>  <xs:element name="name" type="xs:string"/> <xs:element name="orderid" type="xs:positiveInteger"/> <xs:element name="shipdate" type="xs:date"/>  </xs:sequence>  </xs:complexType> – vrijednost “true” atributa “mixed” (tj. mixed=“true”) omogućuje pojavljivanje  tekstualnog sadržaja između child‐elemenata nekog elementa (name, orderid  i shipdate su child‐elementi elementa letter)
  • 55. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 55 XML Schema – indikatori • indikatori – omogućuju kontroliranje upotrebe elemenata u XML  dokumentu • razlikujemo tri kategorije sa ukupno sedam indikatora: 1. indikatori redosljeda (eng. order indicators) • all, choice, sequence 2. indikatori pojavljivanja (eng. occurence indicators) • maxOccurs, minOccurs 3. indikatori grupe (eng. group indicators) • Group name, attributeGroup name
  • 56. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 56 XML Schema – indikatori redosljeda • all indikator – znači da se child‐elementi u XML dokumentu mogu pojaviti  u bilo kojem redosljedu i da  se  svaki child‐element  može pojaviti točno  jedanput <xs:all> ... </xs:all> • choice indikator – znači da se od svih navedenih child‐elemenata u XML  dokumentu može pojaviti samo jedan <xs:choice> ... </xs:choice> • sequence  indikator  – znači  da  se  svi  child‐elementi  u  XML  dokumentu  moraju pojaviti redom kako su definirani u XML Schemi <xs:sequence> ... </xs:sequence> • primjer: http://www.w3schools.com/schema/schema_complex_indicators.asp
  • 57. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 57 XML Schema – indikatori pojavljivanja  • indikatori pojavljivanja – definiraju broj pojavljivanja elementa • maxOccurs indikator ‐ definira maksimalan broj mogućih pojavljivanja  elementa • minOccurs indikator ‐ definira minimalan broj mogućih pojavljivanja elementa • primjer: http://www.w3schools.com/schema/schema_complex_indicators.asp <xs:element name="person">  <xs:complexType>  <xs:sequence>  <xs:element name="full_name" type="xs:string"/>  <xs:element name="child_name" type="xs:string“ maxOccurs="10" minOccurs="0"/>  </xs:sequence>  </xs:complexType>  </xs:element>
  • 58. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 58 XML Schema – indikatori grupe • indikatori grupe elemenata – koriste se za definiranje povezanih skupova  elemenata – deklaracija: <xs:group name="groupname"> ... </xs:group> • Indikatori grupe atributa  – deklaracija: <xs:attributeGroup name="groupname"> ... </xs:attributeGroup> • primjer: http://www.w3schools.com/schema/schema_complex_indicators.asp
  • 59. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 59 XML Schema – element “any” • element “any” – omogućuje proširenje XML dokumenta elementom koji  nije definiran u XML Schemi pridruženoj tom XML dokumentu • primjer:  nakon  child‐elementa  “lastname” elementa  “person” pomoću  elementa  “any” omogućujemo  dodavanje  nekog  novog  child‐elementa  koji nije definiran u ovoj XML Schemi <xs:element name="person">  <xs:complexType>  <xs:sequence>  <xs:element name="firstname" type="xs:string"/>  <xs:element name="lastname" type="xs:string"/>  <xs:any minOccurs="0"/> </xs:sequence>  </xs:complexType>  </xs:element>
  • 60. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 60 XML Schema – element “any” • primjer: XML Schema u kojoj definiramo novi element “children” <?xml version="1.0" encoding="ISO‐8859‐1"?>  <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"  targetNamespace="http://www.w3schools.com"  xmlns="http://www.w3schools.com"  elementFormDefault="qualified"> <xs:element name="children">  <xs:complexType>  <xs:sequence>  <xs:element name="childname" type="xs:string"  maxOccurs="unbounded"/>  </xs:sequence>  </xs:complexType>  </xs:element> </xs:schema>
  • 61. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 61 XML Schema – element “any” • primjer: XML dokument koji, zbog prisutnosti elementa “any” u XML Schemi u kojoj je definiran element  “person”,  omogućuje  korištenje  elementa  “children” (definiranog  u  drugoj  XML  Schemi)  kao  child‐ elementa elementa person:  <?xml version="1.0" encoding="ISO‐8859‐1"?> <persons xmlns="http://www.microsoft.com"  xmlns:xsi="http://www.w3.org/2001/XMLSchema‐instance"  xsi:SchemaLocation="http://www.microsoft.com family.xsd http://www.w3schools.com children.xsd"> <person>  <firstname>Hege</firstname>  <lastname>Refsnes</lastname>  <children>  <childname>Cecilie</childname>  </children>  </person> <person>  <firstname>Stale</firstname> <lastname>Refsnes</lastname>  </person> </persons>
  • 62. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 62 XML Schema primjer • proanalizirajmo sljedeći primjer XML dokumenta i XML Scheme koja  definira njegovu strukturu: http://www.w3schools.com/schema/schema_example.asp
  • 63. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 63 XML – opće informacije
  • 64. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 64 XML – prikaz na web‐u • na  web  stranici  se  pomoću  preglednika  čisti  XML  dokument vidi kao običan tekst s umetnutim tagovima (bez ikakvog stilskog uređenja) • neki internet preglednici (npr. IE i Mozilla) prikazuju stablo na kojem se  klikom  na  odgovarajući  čvor  njemu  podređene  grane  XML  dokumenta  mogu prikazati ili sakriti od prikazivanja http://www.w3schools.com/xml/xml_view.asp • ako želimo neki XML  dokument prikazati u  određenom  formatu,  to  možemo postići na jedan od sljedeća tri načina (detaljnije na vježbama): – u  XML  dokumentu navesti naziv CSS  datoteke koja ga formatira na odgovarajući način http://www.w3schools.com/xml/xml_display.asp – koristiti XSLT (eXtensible Stylesheet Language Transformations) http://www.w3schools.com/xml/xml_xsl.asp
  • 65. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 65 XML – upotreba • Osnovnu upotrebu XML‐a možemo sažeti na sljedeći način: – odvajanje podataka od prezentacije – razmjena/prijenos podataka – pohrana podataka – povećanje dostupnosti podataka – izrada novih specijaliziranih markup jezika
  • 66. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 66 XML – proširenja i tehnologije • XPath ‐ jezik koji omogućuje jednostavnije pretraživanje sadržaja u XML  dokumentu. • XQuery ‐ upitni jezik za pretraživanje XML dokumenta. On je za XML isto  ono što je SQL za relacijske baze podataka • XSLT ‐ jezik koji omogućuje transformacije XML  dokumenata iz jednog  formata u drugi (npr. iz XMLa u XHTML) • XSL‐FO ‐ jezik koji služi za formatiranje izlaznog rezultata XML dokumenta • XML  Linking  Language ‐ jezik koji opisuje standardni način kreiranja  hiperlinkova u XML dokumentima • XML  Pointer  Language  ‐ jezik  koji  opisuje  standardni  način  na  koji  hiperlinkovi pokazuju na određeno mjesto unutar XML dokumenta • XML  Document  Object  Model  (DOM)  ‐ sučelje  koje  omogućuje računalnim programima pristup i  ažuriranje sadržaja i  strukture XML dokumenta
  • 67. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 67 XML – proširenja i tehnologije • SOAP  ‐ jednostavan protokol temeljen na XMLu koji omogućuje  aplikacijama  razmjenu  podataka  u  tekstualnom  obliku preko HTTP  protokola • Web Services Description Language (WSDL) ‐ jezik baziran na XMLu koji omogućuje opis web servisa i sučelja za njihovo korištenje • Really Simple Syndication (RSS) ‐ način za distribuciju sadržaja s jednog  web‐a na druge pomoću XMLa • Wireless  Application  Protocol  (WAP) ‐ protokol razvijen s namjerom pristupa internetskim sadržajima pomoću prijenosnih uređaja (mobitela,  ručnih računala...) • XML Signature ‐ definira sintaksu i pravila za kreiranje digitalnog potpisa XML sadržaja • XML Encryption ‐ definira sintaksu i pravila za šifriranje XML sadržaja
  • 68. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 68 XML ‐ prednosti • jednostavno je čitljiv i čovjeku u običnom tekstualnom editoru i računalu • XML dokument je obična tekstovna datoteka čitljiva na svakoj platformi koja može čitati tekstovne podatke.  To  ga čini neosjetljivim na tehnološke promjene jer bez obzira na napredak tehnologije, tekstovni podaci će još jako dugo ostati nešto što će svaki računalni sustav trebati moći pročitati • podržava Unicode i omogućuje prikaz teksta na svim danas poznatim jezicima • format je samodokumentirajući ‐ oznake opisuju sadržaj koji se nalazi unutar njih • Ima  stroga  sintaksna  pravila  tako  da  je  jednostavno  kontrolirati ispravnost  nastalog  dokumenta  – računalni  programi  koji  obrađuju  dokument  stoga  mogu jednostavno obrađivati XML sadržaj • XML je međunarodno prihvaćen standard – mnogi proizvođači programa su ga  prihvatili i koriste u svojim proizvodima • hijerarhijska struktura je pogodna za opisivanje mnogih sadržaja
  • 69. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 69 XML ‐ nedostaci • sintaksa je redundantna i  opširna što može zamarati i  zbunjivati osobu koja  čita  XML  dokument, a računalni program koji obrađuje dokument morat će obrađivati veliku količinu  podataka što će ga djelomično usporiti • da bi dokument bio dovoljno dobro "samoopisan" nazivi oznaka moraju biti dovoljno precizni što dovodi do  dugih naziva (npr.  u nekom dokumentu nije dovoljan opis podatka Ime_i_prezime jer to može biti ime i prezime osobe koja je kreirala dokument, ali i osobe na  koju se slog odnosi, osobe kojoj se dokument šalje,...) • nije dovoljno osloniti se na "samoopisivanje" sadržaja. • redundancija i velika količina podataka stvaraju velike zahtjeve za propusnosti mreže (iako to  danas uglavnom više nije problem) • Programi koji obrađuju XML podatke su dosta složeni jer moraju obrađivati velike količine  ugniježđenih podataka u više razina • nedostatak formalno propisanih formata za podatke može stvarati probleme ako sudionici u  razmjeni nisu dobro opisali (npr. da li se decimalni brojevi prikazuju s decimalnom točkom ili zarezom • pohrana  XML  podataka  u  relacijske  baze  podataka  nije  prirodan  način  i  to  dovodi do  smanjenja performansi sustava koji koriste takav način pohrane. S druge strane XML baze  podataka koje su razvijene za pohranu XML podataka još su u fazi razvoja
  • 70. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 70 XML ‐ inačice • XML 1.0 ‐ inicijalno je stvoren 1998. godine – ova inačica je do danas imala nekoliko manjih revizija, širom je prihvaćena i još i  danas se preporučuje za korištenje – temelji se na filozofiji da je zabranjeno sve što nije dozvoljeno. S razvojem drugih  standarda  na  koje  se  oslanja  (prvenstveno  Unicode  standarda)  dolazilo  je  prvenstveno na velikim sustavima (IBM mainframe) do određenih problema jer se  nisu mogli koristiti oni znakovi koju u vrijeme definiranja standarda nisu postojali. • XML 1.1 ‐ inicijalno je objavljen 2004. godine – ima  određena  svojstva  koja  olakšavaju  rad  programima  na  velikim  računalnim  sustavima – njezin pristup je da je sve što nije zabranjeno dozvoljeno ‐ na  takav način omogućuje se  korištenje svih budućih Unicode  znakova koji će se  bilo kada u  budućnosti definirati – zbog  svoje raširenosti uglavnom se  još uvijek koristi verzija XML  1.0  jer je zadovoljavajuća za većinu korisnika. Korisnici na velikim računalnim serverimakoji imaju problema s ograničenjima verzije XML 1.0 uglavnom su prešli na korištenje verzije XML 1.1.
  • 71. 18.3.2011. Odjel za matematiku, Sveučilište J.J.  Strossmayera, Osijek 71 XML ‐ literatura 1. http://www.w3schools.com 2. XML – materijali prof. Esserta