XML - Odjel za matematiku

Download Report

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

Pero Kate Podsjetnik Otiđi kupiti kruh

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. Podsjetnik Elementi moraju poštivati određena pravila, npr:  Ne smiju počinjati brojem, sadržavati praznine...

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