Transcript XML - Odjel za matematiku
X M L
EXtensible Markup Language (jezik za označavanje podataka)
Matea Sigurnjak, Antonija Stažić, Mišo Savanović
Korist XML-a
Vrlo brzo je postao uobičajen alat za prijenos podataka između raznih vrsta aplikacija Postaje sve više popularniji u području pohranjivanja i označavanja podataka Neovisan je o
softwareu
i
hardwareu
Sintaksa je jednostavna i logična Izdvaja podatke iz HTML-a Pojednostavljuje Pojednostavljuje
data sharing (
razmjenu podataka
data transport (
prijenos podataka Neosjetljiv je na promjene operativnih sustava Olakšava pristup podacima Kreira nove internet jezike (xhtml)
) )
XML vs HTML
XML
Markup language Običan tekst Prijenos i pohranjivanje Oznake tj. tagovi nisu definirani, sami ih definiramo Tagovi su zatvoreni <>> Fokusira se na ono što podatak
je
HTML
Markup language Običan tekst Prikaz podataka Unaprijed definirani tagovi,
, i sl... Tagovi ne moraju biti zatvoreni Brine se za izgled podataka
Primjer dokumenta
Prolog ili zaglavlje Korisni sadržaj omeđen xml tagovima Korijenski ili root element
XML elementi
Sastoje se od korisnog sadržaja omeđenog xml oznakama (tagovima) Sadržaj mora biti omeđen s lijeve i s desne strane početnom i završnom oznakom.
Međusobni odnosi elemenata: Roditelj-dijete (parent-child) Sestrinski (siblings)
XML atributi
Nude podatke koji dodatno opisuju XML elemente Na primjer: ime osobe koja je kreirala poruku vrsta i veličina fonta Atributi imaju svoj naziv i vrijednost koja se navodi pod navodnicima npr:
Prikaz XMLa na web stranicama
XML je jezik namijenjen opisu podataka i u sebi ne nosi informacije o tome na koji način se određeni podaci trebaju prikazati To se može napraviti pomoću odgovarajućih atributa, ali u tom slučaju potreban je poseban računalni program koji će na odgovarajući način protumačiti te atribute Prikazuje se kao običan tekstualni dokument Za razliku od HTML a, ne dopuštaju se greške u kodu
Neka 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
XSLT
je jezik koji omogućuje transformacije XML dokumenata iz jednog formata u drugi (npr. iz XMLa u XHTML)
XML Document Object Model (DOM)
je sučelje koje omogućuje računalnim programima pristup i ažuriranje sadržaja i strukture XML dokumenta
SOAP
je jednostavan protokol baziran na XMLu koji omogućuje aplikacijama razmjenu podataka u tekstualnom obliku
Tipovi XML baze podataka
Flat files
Najjednostavniji oblik XML baze podataka XML dokumenti se snimaju u datoteku, a njima se rukuje pomoću nekog API-ja (sučelja programske potpore) To je prihvatljiva metoda za mali skup XML dokumenata Postoje alati za pretraživanje i modifikaciju, indeksiranje te transakcijsku obradu podataka
Relacijske baze podataka
Skladištenje u relacijsku bazu podataka automatski nudi niz prednosti koje ove baze imaju nad
flat file
sustavom: višekorisnički pristup, sigurnost, transakcije,...
Tri su osnovna načina za smještanje xml-a u relacijsku bazu podataka: CLOB (character large object) “Čisto relacijski pristup” (pure relational)
XML enabled
relacijske baze podataka
Skladištenje XML-a u CLOB:
Pretraživanje i modifikacija se vrše nad dokumentom izvan baze podataka Baza podataka “nije svjesna“ da smo u nju smjestili XML pa ne nudi nikakve servise za rad s XML-om XML dokumenti nisu indeksirani što degradira perfomanse
“Čisto relacijski pristup”
Koriste se prednosti relacijskog modela – XML podatci se mapiraju na redove i stupce
Dvije najznačajnije tehnike mapiranja su
table based
i
object-relational
mapiranje Problem je razlika između XML formata i relacijskog modela
Razlike između XML-a i relacijskog modela
XML podatci su smješteni u jednu hijerarhijsku strukturu čvorovi imaju elemente i/ili atribute elementi mogu biti ugniježđeni elementi imaju definiran redoslijed Shema je opcionalna Relacijski model podatci su smješteni u više tabela obilježja imaju jednu vrijednost vrijednosti obilježja su nedjeljive Redoslijed redova i stupaca ne postoji Shema je obavezna
XML enabled relacijske baze podataka
XML enabled
baza podataka je „svjesna” da radi s XML strukturama i u skladu s time nudi različite servise Nove mogućnosti uglavnom uključuju podršku za upitne jezike (najčešće XPath) i API-je (najčešće DOM = Document Object Model) Koristeći SQL i njegove dodatke se lociraju slogovi, a baza podataka omogućuje pogled na te podatke u XML formatu Najpoznatije realizacije
XML enabled
baza podataka su: Oracle 9i Oracle 10g Microsoft SQL Server 2000 Microsoft Access XP IBM DB2
PREDNOST XML-a
jednostavno je čitljiv i čovjeku u običnom tekstualnom editoru i računalu XML dokument je obična tekstualna datoteka platformi koja može čitati tekstualne podatke. čitljiva na svakoj podržava Unicode poznatim jezicima i omogućuje prikaz teksta na svim danas format je samodokumentirajući. Oznake opisuju sadržaj koji se nalazu unutar njih. ima stroga sintaksna pravila tako da je jednostavno kontrolirati ispravnost nastalog dokumenta. međunarodno prihvaćen standard. hijerarhijska struktura je pogodna za opisivanje mnogih sadržaja (ali ne i svih!) kompatibilan je sa SGMLom stoljeća, a za SGML mogu obrađivati.
koji se koristi od 80ih godina 20. postoji dosta računalnih programa koji ga
NEDOSTACI XML-a
sintaksa je redundantna i opširna što može zamarati i zbunjivati osobu koja čita XML dokument. da bi dokument bio dovoljno dobro "samoopisan" nazivi oznaka moraju biti dovoljno precizni što dovodi do dugih "kobasičastih" naziva Nije dovoljno osloniti se na "samoopisivanje" sadržaja redundancija i velika količina podataka stvaraju velike zahtjeve za propusnosti mreže 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 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