AS 6-XML Schema

download AS 6-XML Schema

of 17

Transcript of AS 6-XML Schema

  • 8/17/2019 AS 6-XML Schema

    1/17

    XML Schema

    Aplikativni softver 

  • 8/17/2019 AS 6-XML Schema

    2/17

    Aplikativni softver  2

    XML Schema

    Šta je XML Schema?

    XML Schema predstavlja XML dokument koji sadrži formalan opisonoga od čega se sastoji validan XML dokument. XML dokumentopisan šemom naiva se primerak dokumenta !instance document "# iako adovoljava sva ograničenja adata šemom# proglašava sevalidnim u odnosu na šemu.

    XML Schema dokumenti imaju eksteniju .$sd jer se pišu u XS% ! XMLSchema Definition" jeiku.

    XML Schema&

     omogu'ava validaciju XML dokumenta prema detaljnoj specifikaciji podržava sintaksu XML(a omogu'ava tipiaciju podataka i prika ograničenja koristi prostor imena !namespace" preentuje vee koje postoje ime)u elemenata

  • 8/17/2019 AS 6-XML Schema

    3/17

    Aplikativni softver  3

    XML Schema

    *rimer & ramotrimo element quantity  a koji aplikacija smatra da predstavljapoitivan ceo +roj.

    %,% i XML Schema

    -/L/M/0, 1uantit2 !3*4%5,5" 6

    -$sd&schema $mlns&$sd78http&99:::.:;.org99XMLSchema86  -$sd&element name781uantit28 t2pe7$sd&non0egative@nteger A96-$sd&9schema6

    %,% deklaracija elementa quantity 

    %eklaracija elementa quantity u XML Schema

    %,% deklaracija 'e smatrati da je slede'i XML kod validan&

    -1uantit26B-91uantit26-1uantit26(

  • 8/17/2019 AS 6-XML Schema

    4/17

    Aplikativni softver  4

    XML Schema

    *ridruživanje šeme XML dokumentu

    Šema se primerku dokumenta može pridružiti na jedan od slede'ihnačina&

     koriš'enjem atri+uta $si&schemaLocation nekog elementa koji sadržispisak prostora imena upotre+ljenih unutar tog elementa i spisak CDL

    adresa šema pomo'u kojih tre+a proveriti validnost elemenata iatri+uta u tim prostorima imena

     koriš'enjem atri+uta $si&no0amespaceSchemaLocation koji sadržiCDL adresu šeme koju tre+a upotre+iti a proveru validnosti elemenata

    koji ne pripadaju nijednom prostoru imena

     idavanjem komande analiatoru validnosti da proveri validnostdatog dokumenta u odnosu na eksplicitno adatu šemu i da anemarisva uputstva te vrste u samom dokumentu

  • 8/17/2019 AS 6-XML Schema

    5/17

    Aplikativni softver  5

    XML Schema

    Struktura dokumenta

     *rva linija u XML Schema dokumentu je XML deklaracija !jer to usuštini predstavlja XML fajl".

     C drugoj liniji se deklariše -$s&schema6 kao osnovni !root " element

    u dokumentu. Evaj element sadrži deklaracije svih elemenata i atri+utakoji se mogu pojaviti u validnom primerku dokumenta.

      Co+ičajeno je da se u deklaraciji osnovnog elementa koristi prefiks$s !mada može i neki drugi"# koji je pridružen prostoru imena XMLSchema

    $mlns&$s7http&99:::.:;.org99XMLSchema

      XML elementi od kojih se sastoji XML šema moraju pripadatinavedenom prostoru imena.

    http://www.w3.org/2001/XMLSchemahttp://www.w3.org/2001/XMLSchema

  • 8/17/2019 AS 6-XML Schema

    6/17

    Aplikativni softver  6

    XML Schema

    @rada šeme !>"*rimer & napraviti jednostavnu šemu koja predstavlja uo+ičajenu stavku u adresaru.

    -?$ml version7>.=F?6-puno@me6*etar Milic-9puno@me6

    -?$ml version7>.=F?6-$s&schema $mlns&$s78http&99:::.:;.org99XMLSchema86  -$s&element name7Gpuno@me8 t2pe7$s&stringA96-$s&9schema6

    XML dokument& stavka_adresara.xml 

    XML Schema dokument& sema_stavke_adresara.xsd 

    *ridruživanje šeme XML dokumentu& stavka_adresara.xml sa referencom šeme

    -?$ml version7>.=F?6-puno@me $mlns&$si7http&99:::.:;.org99XMLSchema(instanceF  $si&no0amespaceSchemaLocation7semaHstavkeHadresara.$sd6  *etar Milic-9puno@me6

  • 8/17/2019 AS 6-XML Schema

    7/17

    Aplikativni softver  7

    XML Schema

    @rada šeme !

  • 8/17/2019 AS 6-XML Schema

    8/17

    Aplikativni softver  8

    XML Schema

    XML dokumenti se prvenstveno sastoje od ugnježdenih elemenata# pa je jednaod najčeš'ih deklaracija u tipičnoj šemi&

    -$s&element name7imeHelementaF t2pe7$s&tipHelementaF6 Šeme podržavaju dva tipa sadržaja elementa& jednostavan !prost" i složen.

    Jednostavan sadržaj se sastoji od čistog teksta koji ne o+uhvata ugnježdeneelemente. C ta+eli su navedeni najčeš'e koriš'eni prosti tipovi definisani u;4 specifikaciji&

    /lement deklarisan da je prostog tipa ne može imati atri+ute.

    %eklaracije elemenata

    Tip Opis Tip Opis

    an2CD@ CD@ identifikator resursa duration Qremenski periodRoolean Može sadržati true ili false integer  4eo +roj

    date,ime  5psolutni datum i vreme string Cnicode nakovni ni

  • 8/17/2019 AS 6-XML Schema

    9/17

    Aplikativni softver 

    XML Schema

     5tri+uti uvek moraju +iti deklarisani kao prosti tipovi./lementi koji sadrže atri+ute su složenog tipa.

     5tri+uti se deklarišu pomo'u elementa&

    -$s&attri+ute name7imeHatri+utaF t2pe7$s&tipHatri+utaF6

    *rimer &

    -$s&attri+ute name7FidF t2pe7$s&integerF96-proivod id7A>;A6stolica-9proivod6

     5tri+uti mogu imati podraumevanu ili fiksnu vrednost.*rimer &

    -$s&attri+ute name7FidF t2pe7$s&integerF use7optionalF96-$s&attri+ute name7FidF t2pe7$s&integerF use7re1uiredF96

     5tri+uti

  • 8/17/2019 AS 6-XML Schema

    10/17

    Aplikativni softver  !"

    XML Schema

    Složeni tipovi !>"Šema pridružuje tip svakom elementu i atri+utu koji deklariše. /lementi složenihtipova mogu imati atri+ute i sadržati ugnježdene elemente. Samo elementimogu +iti složenog tipa. ,ipovi atri+uta su uvek prosti.

    Složeni tip se deklariše pomo'u elementa $s&comple$,2pe koji je ugra)enneposredno u deklaraciju elementa.

    XML kod

    -aposleni6  -ime6*era-9ime6

    -preime6Miric-preme6-9aposleni6

    XML Schema kod

    -$s&element name7aposleniF6  -$s&comple$,2pe6  -$s&se1uence6  -$s&element name7imeF t2pe7$s&stringF96

    -$s&element name7preimeF t2pe7$s&stringF96-9$s&se1uence6

      -9$s&comple$,2pe6-9$s&element6

  • 8/17/2019 AS 6-XML Schema

    11/17

    Aplikativni softver  !!

    XML Schema

    Složeni tipovi !

  • 8/17/2019 AS 6-XML Schema

    12/17

    Aplikativni softver  !2

    XML Schema

    Složeni tipovi !;"Složeni element se može +airati na nekom ve' postoje'em složenom tipukome se mogu dodati novi elementi.

    -$s&element name7aposleniF t2pe7dopunjeninfoF96-$s&comple$,2pe name7oso+ainfoF96  -$s&se1uence6  -$s&element name7imeF t2pe7$s&stringF96

    -$s&element name7preimeF t2pe7$s&stringF96-9$s&se1uence6

    -9$s&comple$,2pe6-$s&comple$,2pe name7dopunjeninfoF96  -$s&comple$4ontent6  -$s&e$tension +ase7oso+ainfoF6  -$s&se1uence6  -$s&element name7ulicaF t2pe7$s&stringF96

    -$s&element name7gradF t2pe7$s&stringF96-$s&element name7dravaF t2pe7$s&stringF96

    -9$s&se1uence6  -9$s&e$tension6

    -9$s&comple$4ontent6

    -9$s&comple$,2pe6

  • 8/17/2019 AS 6-XML Schema

    13/17

    Aplikativni softver  !3

    XML Schema

    Egraničenja +roja pojavljivanjaC XML Schema postoji mogu'nost eksplicitnog adavanja najmanjeg i najve'eg+roja pojavljivanja odre)enog elementa na odre)enom mestu u dokumentu.

    Ia ograničavanje +roja pojavljivanja koriste se slede'i atri+uti elementa$s&element&

    minOcc#rs  definiše minimalan +roj pojavljivanja elementama$Occ#rs  definiše maksimalan +roj pojavljivanja elementa

    -$s&element name7oso+aF6  -$s&comple$,2pe6

      -$s&se1uence6  -$s&element name7imeF t2pe7$s&stringF96-$s&element name7imeHdetetaF t2pe7$s&stringFminEccurs7=F ma$Eccurs7>=F96

    -9$s&se1uence6  -9$s&comple$,2pe6

    -9$s&element6

    *rimer&

  • 8/17/2019 AS 6-XML Schema

    14/17

    Aplikativni softver  !4

    XML Schema

    Mešoviti sadržaj elemenataMe%oviti sa&r'a( imaju XML elementi koji sadrže nakovne podatke !stringove#tekst" i neograničen +roj elemenata. XML Schema podržava ovu funkcionalnost#i još omogu'ava odre)ivanje +roja i redosleda po kome se elementi pojavljujuunutar nakovnih podataka.

     5tri+ut mi$ed elementa tipa comple$,2pe odre)uje da li se nakovni podacismeju pojaviti unutar tela elementa.

    -pismo6 %ragi-ime6 *ero-9ime6 Qasa narud+ina -narid6>B;

  • 8/17/2019 AS 6-XML Schema

    15/17

    Aplikativni softver  !5

    XML Schema

    Iadavanje redosleda elemenata !>"

    Ia odre)ivanje redosleda u kome se elementi mogu pojavljivati# XML šemenude slede'e mogu'nosti&

     $s)se*#ence $s)choice $s)all

    Eve mogu'nosti se mogu ugnježdavati u slučaju igradnje složenijih strukturaelemenata.

    $s)se*#ence

    Evaj element ahteva da se elementikoje sadrži moraju pojavljivati tačnoonim redosledom kojim su navedeniu njegovom spisku.

    *ismo mora sadržati element pozdrav #element telo i element zavretak #tim redom.

    *rimer&-$s&element name7pismo6  -$s&comple$,2pe mi$ed7true6

      -$s&se1uence6  -$s&element name7podrav 96  -$s&element name7telo 96  -$s&element name7avrsetak 96  -9$s&se1uence6  -9$s&comple$,2pe6

     -9$s&element6

  • 8/17/2019 AS 6-XML Schema

    16/17

    Aplikativni softver  !6

    XML Schema

    Iadavanje redosleda elemenata !

  • 8/17/2019 AS 6-XML Schema

    17/17

    Aplikativni softver  !7

    XML Schema

    Iadavanje redosleda elemenata !;"

    $s)all

    Evaj element ahteva da se svaki odelemenata mora pojaviti jednom# pričemu redosled njihovog pojavljivanjanije važan.

    Dedosled pojavljivanja elemenata stavka#cena i datum#rispeca nije +itan# a sprečeno je i pojavljivanje više referenci iste vrednosti.

    XML Schema kod& cirpismo.$sd-$s&element name7telo6  -$s&comple$,2pe mi$ed7true6  -$s&all6  -$s&element name7stavka96  -$s&element name7datum*rispeca96

      -$s&element name7cena96  -9$s&all6  -9$s&comple$,2pe6 -9$s&element6

    XML dokument& cirpismo.$lm-pismo $mlns&$si7http&99:::.:;.org99XMLSchema(instanceF

      $si&no0amespaceSchemaLocation7cirpismo.$sd6  -podrav6 -dravo96Ro+o -9podrav6  -telo6  Wvala Qam sto se narucili -stavka96  !-cena96". ,re+alo +i da stigne do -datum*rispeca96  -9telo6  -avrsetak96

     -9pismo6