Extensible Markup Language XML

  • Published on
    03-Jan-2016

  • View
    21

  • Download
    3

Embed Size (px)

DESCRIPTION

A plikativn i softver. Fakultet za poslovnu informatiku Univerzitet Singidunum www.fpi.singidunum.ac.yu. Extensible Markup Language XML. 2007/2008. Violeta Tomaevi Literatura Internet. ta je XML i emu slui?. - PowerPoint PPT Presentation

Transcript

  • Extensible Markup LanguageXMLVioleta Tomaevi

    Literatura

    Internet.2007/2008.Fakultet za poslovnu informatikuUniverzitet Singidunumwww.fpi.singidunum.ac.yuAplikativni softver

    Aplikativni softver

    ta je XML i emu slui?XML predstavlja tekst koji je formatiran u skladu sa dobro definisanim skupom pravila. Ovaj tekst moe da bude smeten u datoteku na disku, ali i ne mora. Moe, takoe, da bude predstavljen:

    kao poruka koja se alje HTTP protokolom kao niz znakova, tj. string u programskom jeziku kao objekat u bazi podataka na bilo koji drugi nain koji omoguava korienje tekstualnih podataka

    Jednostavnosti radi, referisaemo se na XML dokumente ili fajlove.

    XML slui za uvanje, prenos i razmenu podataka. Zbog svog formata, omoguava razmenu podataka i izmeu nekompatibilnih sistema, tj. nezavisan je od korienih hardverskih i softverskih platformi.

    Aplikativni softver

    Reprezentacija u obliku stablaXML dokumenti uglavnom sadre tagove i tekst, tako da kod napisan u XML-u u mnogome podsea na HTML kod.

    Za razliku od HTML-a, tagovi u XML-u nisu predefinisani (prethodno zadati). Naime, korisnik sam definie tagove koje e koristiti.

    XML dokument se moe posmatrati kao struktura u obliku hijerarhijskog stabla.

    Tom Wolfe The Right Stuff $6.00

    ROOT

    Tom WolfeThe Right Stuff$6.00=

    Aplikativni softver

    Dobro formatiran XML dokumentDobro formatiran XML dokument predstavlja dokument u kome XML sintaksa zadovoljava sledea pravila:

    Dokument ima samo jedan osnovni element (root). Svi ostali elementi su ugnjedeni unutar ovog osnovnog elementa.

    Elementi moraju imati zavrni tag ( ). Jedini izuzetak predstavlja empty tag koji nema ni sadraj ni telo, a oznaava se .

    Elementi moraju biti propisno ugnjedeni. To znai da se par tagova jednog elementa ne sme preklapati sa parom tagova drugog elementa. Ne postoji ogranienje u pogledu nivoa ugnjedavanja.

    Imena tagova u XML-u su case-sensitive (zavise od velikih i malih slova). Pri dodeljivanju imena se moraju potovati odreena pravila.

    Sve vrednosti atributa moraju biti u okviru navodnika.

    Prva linija dokumenta bi trebalo da sadri specijalan tag koji definie korienu verziju XML-a (najee se koristi verzija XML 1.0).

    Aplikativni softver

    Jedinstven osnovni element

    red green blue

    redgreenbluePrimer ispravnog kodaPrimer neispravnog kodaObjanjenje: u ovom primeru colors predstavlja osnovni element za XML dokument. Ostali elementi su ugnjedeni unutar osnovnog elementa.Objanjenje: u ovom primeru color predstavlja vie osnovnih elementa, to nije dozvoljeno u XML-u.

    Aplikativni softver

    Zavrni tagSvaki element u XML-u mora da ima poetni i zavrni tag. Kao i u HTML-u, zavrni tag se prepoznaje po simbolu /.

    Primer: red

    Unutar poetnog taga, elementi mogu da sadre atribute koji daju dodatne informacije o elementu.

    Primer: red

    Prazan element (empty element) ne sadri druge elemente, kao ni podatke.

    Primer:Kompletna notacija za prazan element: Skraena notacija za prazan element: Notacija za prazan element bez atributa:

    Aplikativni softver

    Ugnjedavanje elemenata Ugnjedavanje elemenata zahteva da se zavrni tagovi unutranjih elemenata moraju pojaviti u kodu pre nego to se pojave zavrni tagovi spoljanjih elemenata.

    Broj ugnjedenih elemenata (dece elemenata) i podataka izmeu poetnog i zavrnog taga nije ogranien.

    Polo green large

    large red Polo

    Primer ispravnog kodaPrimer neispravnog kodaPreporuuje se da se za prikaz hijerarhije dokumenta koriste uvueni redovi.

    Aplikativni softver

    Zadavanje imena Prvi karakter u imenu mora biti A-Z, a-z ili _(underscore). Nakon njega mogu da slede slova, brojevi, crtice, take, dvotake i underscore karakteri.

    Pri zadavanju imena pravi se razlika izmeu malih i velikih slova (case-sensitive).

    Imena ne mogu sadrati razmake (spaces).

    Imena ne mogu kao prefiks imati xml, jer je to rezervisana re.Preporuuje se da koriste dua, opisna imena, kao i uniforman nain njihovog zadavanja.

    IspravnoNeispravnoime1, _broj, a:pr1ime, -broj, &pr red red

    IspravnoNeispravno Milan Milan

    Mira Mira

    Aplikativni softver

    AtributiAtributi pruaju dodatne informacije o elementu. Oni se zadaju na sledei nain:

    ime_atributa=vrednost

    Atributi se definiu u okviru poetnog taga elementa na koji se odnose. Jedan element moe da ima vie atributa koji moraju imati razliita imena.

    Vrednosti atributa se mogu navoditi izmeu navodnika ili apostrofa .

    Primer: ili

    Ako vrednost atributa sadri navodnike, moe se navesti u okviru apostrofa.

    Primer:

    Atributi ne mogu imati viestruke vrednosti.

    Aplikativni softver

    XML deklaracijaXML deklaracija predstavlja opcionu prvu liniju u svim XML dokumentima.

    Primeri:

    U navedenoj deklaraciji:

    version atribut definie verziju XML-a i obavezan je

    encoding atribut ukazuje na set karaktera koji je dozvoljen u dokumentu i moe se izostaviti ako se koriste UTF-8 i UTF-16

    standalone atribut pokazuje da li XML dokument zavisi od eksterno deklarisanih informacija (u drugim fajlovima kao DTD ili XSL); vrednost ovog atributa moe biti yes ili no

    Pisanje komentara pre linije za deklaraciju u XML dokumentu nije dozvoljeno.

    Aplikativni softver

    Sadraj elemenata (1)XML dokument se sastoji od elemenata koji su predstavljeni parovima tagova (osim praznog elementa) u okviru kojih su navedeni podaci i (opciono) atributi ije su vrednosti date izmeu znaka navoda.

    Za element koji sadri podatke i druge elemente kae se da ima meoviti sadraj. Primer ovakvog elementa je:

    Example

    Chapter information What is XML What is HTML More chapter information

    Aplikativni softver

    Sadraj elemenata (2)Sadraj elemenata se moe obraivati na jedan od sledea dva naina:

    PCDATA (Parsed Character Data) sadraj se parsira XML parserom

    CDATA (Character Data) sadraj se ne parsira

    XLM parser omoguava obradu XML dokumenta, tj. kreiranje vorova stabla, pristup njihovim atributima, brisanje, dodavanje vorova i konvertovanje vorova stabla nazad u XML dokument.

    Kompletan tekst XML dokumenta se parsira, izuzev dela koji se nalazi u okviru CDATA sekcije.

    Aplikativni softver

    Sadraj elemenata (3)Sintaksa za definisanje sekcije CDATA (Character Data) je:

    Napomena: u Bilo sta se ne moe staviti "]]>", ve se to ubacuje sa"]]>".

    S obzirom da se ne parsira, sekcija CDATA omoguava ukljuivanje koda pisanog na drugim jezicima u XML, kao to su:

    HTML dokument XML dokument JavaScript dokument drugi tekstovi sa dosta specijanih karaktera

    Aplikativni softver

    Sadraj elemenata (4)

    Sir Frederick of Ledyards End ]]>

    PrimerObjanjenje: nameXML element sadri XML koji e biti tretiran kao tekst.

    PrimerObjanjenje: ovaj script element sadri JavaScript.

    Aplikativni softver

    Prostor imena namespace (1)S obzirom da u XML-u imena tagova nisu predefinisana, ve ih korisnik sam definie, javlja se problem mogueg konflikta u izboru imena. Naime, korisnik ne moe da zna koja su imena ve iskoriena, kao bi izabrao neko novo ime.

    Pocetak 0001 Mirko Milic

    PrimerAplikacija ne moe da zna da:

    prvo pojavljivanje taga oznaava ime knjige

    drugo pojavljivanje taga oznaava ime autora

    Stoga je bilo neophodno pronai nain da se izbegnu ovakve dvosmislenosti.

    Aplikativni softver

    Prostor imena (2)Problem konfliktnih imena je reen uvoenjem prefiksa prilikom zadavanja imena. S obzirom da prefiks mora biti jedinstven, bilo je pogodno izabrati URI za prefiks.

    U usvojenom konceptu, svaki element ili atribut mogu se imenovati na sledei nain:

    URI+ime

    Primer:

    Postoje dva problema sa navedenim formatom:

    format ne odgovara dobro formatiranom XML dokumentu potrebno je pisati dosta teksta

    Oba problema su reena uvoenjem sinonima za URI.

    Primer: knjige=http://www.biblioteka.com/knjige

    Ovaj koncept predstavlja osnovu za XML Namespace specifikaciju.

    Aplikativni softver

    Prostor imena (3)XLM Namespace specifikacija podrazumeva definisanje prostora imena (namespace) i identfikovanje elemenata kao lanova tog prostora. Elementi i atributi imaju dvodelna imena koja su jedinstvena i nedvosmislena.

    Sintaksa za deklarisanje prostora imena je:

    Tom Sojer

    < knjige:ime> Tom Sojer

    Primer (bez prostora imena)Primer (sa prostorom imena)

    Aplikativni softver

    Obrada XML podatakaProgrameri koji hoe da obrauju XML dokumente iz svojih programa, obino upotrebljavaju API-je koji omoguavaju pristup objektnom modelu koji predstavlja XML dokument.

    Postoji vie naina na koje programeri mogu obraditi strukturiran XML dokument:

    kao obian tekst kao tok dogaaja kao stablo kao serijalizaciju neke druge strukture

    Za sve ove naine obrade postoji iroki spektar alata koji se koriste za podrku njihovih mogunosti.

    Aplikativni softver

    Obrada XML-a kao tekstaS obzirom da su XML dokumenti u osnovi tekst, alati za ureivanje teksta (kao to su vi, NotePad, WordPad i dr.) su vrlo pogodni za pregled, izradu i modifikovanje XML dokumenata.

    U jednostavninijim XML dokumentima parsiranje tagova, atributa i tekstualnih podataka mogue je pomou standardnih programerskih alata kao to su regularni izrazi i leksiki analizatori.

    U sluaju sloenijih dokumenata koriste se visokokvalitetni XML analizatori koji su besplatni i dostupni za veinu programskih jezika.

    Aplika