130 likes | 280 Views
XML. EXtensible Markup Language (jezik za označavanje podataka). 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
E N D
XML EXtensible Markup Language (jezik za označavanje podataka)
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, <head>, <body> i sl... • Tagovi ne moraju biti zatvoreni • Brine se za izgled podataka
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 data sharing (razmjenu podataka) • Pojednostavljuje data transport (prijenos podataka) • Neosjetljiv je na promjene operativnih sustava • Olakšava pristup podacima • Kreira nove internet jezike (xhtml)
Primjer XML dokumenta <?xml version="1.0" encoding="UTF-8"?> <poruka> <za>Pero</za> <od>Kate</od> <naslov>Podsjetnik</naslov> <tijelo>Otiđikupiti kruh</tijelo> </poruka> 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. <naslov>Podsjetnik</naslov> • 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: • <note date=“12/12/2009”>...</note>
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 Tipovi XML 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
Relacijske baze podataka Tipovi XML 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
Relacijske baze podataka • 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