xml modeli (web modeli) - vps.ns.ac.rs · otpremnica –relacioni model otpremnica (broj ,datum...
TRANSCRIPT
![Page 1: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/1.jpg)
XML modeli(WEB modeli)
![Page 2: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/2.jpg)
XML modeli
• XML – osnovna sintaksa za struktuirane dokumente koja ništa ne govori o njihovoj sadržini (značenju)
• DTD ili XML šema koja ograničava strukturu XML dokumenta i samim tim ga čini semantički bogatijim . DTD ili XML šeme za različite oblasti:– CML (Chemical Markup Language)
– MathML (Mathematical Markup Language)
– ebXML (XML za elektronsko poslovanje)
![Page 3: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/3.jpg)
XML modeli
• RDF (Resource Desription Language) je model podataka koji predstavlja objekte ("resources") i
relacije meñu njima odnosno njihove osobine (properties). RDF se može da pretstavi u XML sintaksi.
• RDF Schema je rečnik koncepata za opisivanje osobina, klasifikaciju i generalizaciju resursa.
• OWL (Ontology Web Language) je semantički bogatiji rečnik pojmova za opis resursa i njihovih osobina ( definisanje specifičnih veza izmeñu klasa, bogatiji skup tipova osobina).
![Page 4: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/4.jpg)
XML modeli
+ XMLschema
Pravila inteligentnog zaključivanja
![Page 5: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/5.jpg)
XML (Extensible Markup Language)
• XML (Extensible Markup Language) je jezik za označavanje strukture dokumenta unutar njegovog sadržaja.– standardizacija strukture i sadržaja dokumenata radi
njihove efektivne razmene u različitim vrstama poslovnih i drugih elektronskih komunikacija
• Osnova: Standard Generalized Markup Language - SGML
• Standard održava: World Wide Web Consortium (W3C)
![Page 6: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/6.jpg)
XML (Extensible Markup Language)
• XML je posebno značajan kao tzv„semistrukturni model“ podataka
• Sve češće se koristi i termin XML baze podataka– "XML baze" su reñe samostalni sistem
– češće pretstavljaju kombinaciju relacionih baza podataka i alata za skladištenje XML dokumenata i alata za "izvlačenje" XML dokumenata
– integracija heterogenih distribiranih baza podataka
![Page 7: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/7.jpg)
Primer dokumenta
![Page 8: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/8.jpg)
XML –osnovne oznake
<?xml version="1.0" encoding="UTF-8"?>
<Otpremnicaxmlns="http:// www.vps.ns.ac.yu /2003/XMLprimer">
.................................</Otpremnica>
Instrukcije obradeOznaka za početakelementa
Oznaka za kraj elementa
Prostor imena
Koreni elementakontejner dokum.
![Page 9: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/9.jpg)
XML-Primer
Atrbut, dodatno opisuje element
![Page 10: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/10.jpg)
Dobro oformljen i validan XML dokumenat
• Dobro oformljen XML dokumenat- u skladu sa osnovnom XML sintaksom – postoji XML deklaracija dokumenta
– postoji koreni elemenat u koga su svi ostali ugnježdeni
– svi elementi i atributi moraju biti dati sintaksno ispravno, odnosno moarju imati oznaku za početak i kraj i svaka vrednost atributa mora biti unutar znaka navoda.
• Validan XML dokumenat – poštuje strukturu definisanu u njegovom DTD opisu ili njegovoj XML šemi.
![Page 11: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/11.jpg)
Struktura dokumenta
![Page 12: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/12.jpg)
XML Document Type Description (DTD)
Konstruktori strukt.:Selekcija a | b | c0 ili više a*+ jedan ili više? nula ili jedan
![Page 13: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/13.jpg)
XML Schema
Konstruktori složenog tipa:Sequencechoiceall –svaki el. je opicioni i pojavljije se najviše jednom
Za svaki elemenatdefinišu se atributi: name i type
![Page 14: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/14.jpg)
XML Schema – nastavak 1
Uz svaki elemantse može dati donjai gornja granica kard.
![Page 15: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/15.jpg)
XML Schema – nastavak 2
Uz elemenat semože definisatiatribut dajućinametypedefault
![Page 16: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/16.jpg)
Ograničenja• Ograničenje na vrednost prostog elementa u
XML šemi:
![Page 17: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/17.jpg)
Ograničenja
• Složena ograničenja vezuju više vrednosti različitih elementa u šemi.
– Mehanizam ID/IDREF, Key/Kref
– U okviru elementa <appInfo>
– Specifična sintaksa poznata kao Schematron
![Page 18: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/18.jpg)
Otpremnica –Relacioni model
Otpremnica (Broj,Datum PoNar)
Dobavljac (SifraDobav,NazivDobav, AdresaDobav)
Narudzbenica (BrojNarDob, OdDobavlj)
Stavka (RedniBroj, Otprm, ZaProizv, OtpremljenaKolicina Vrednost Valuta)
Proizvod (SifraArtikla,NazivArtukla)
![Page 19: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/19.jpg)
XML kao relacioni model
![Page 20: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/20.jpg)
XML kao relacioni model -nastavak
![Page 21: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/21.jpg)
XML kao relacioni model
![Page 22: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/22.jpg)
Operacije
• Navigacione: XPath
• Specifikacione (upitni jezik) : XQuery
![Page 23: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/23.jpg)
XPath• Xpath omogućava adresiranje čvorova,
navigaciju do delova XML dokumenta i manipulaciju stringovima, brojevima i logičkim podacima.
• Izraz putanje se sastoji od jednog ili više koraka razdojenih sa /
• Korak : naziv_ose :: test_cvora [predikat]– Osa je pravac posmatranog koraka putanje– test čvora (node test) – selektuju se čvorovi
odreñenog tipa ili datog naziva, od skupa čvorova na kraju koraka
– predikat - dodatno se selektuju čvorovi koji zadovoljavaju dati predikat
![Page 24: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/24.jpg)
XPathose
self - daje sam konteksni čvorchild child child child - daje decu konteksnog čvora;descendant – daje sve “ potomke kontekstnog čvora,
decu, decu dece itd.;following - daje sve sledeće („desne“) blizance
konteksnog čvora i njihove potomake isključujući čvor-atribute i čvor-prostora imena.;
attribute - daje sve čvor-atribute konteksnog čvoranamespace- daje sve čvorove decu konteksnog čvora
koji su iz istog prostora imena kao i konteksni čvorparent – daje roditelja konteksnog čvora, ako on postoji;....................................
![Page 25: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/25.jpg)
XPath - primeri
/child::Otpremnica/child::Stavka {dajesve čvorove dokumenta koji imaju naziv Stavka i kojisu deca glavnog elementa sa nazivom Otpremnica }
/descendant::node()/attribute::valuta{daje sve čvorove potomke korena dokumenta kojiimaju atribut sa nazivom valuta }
/child::Otpremnica/child::Stavka[position()=3 ]
{daje treće pojavnjivanje čvora sa nazivom Stavka u okviru Otpremnice}
![Page 26: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/26.jpg)
XQuery - XML upitni jezik
• ForLetWhereReturn (FLWR) izraz
FOR $iteratorPromenljiva IN xpath_putanjaLET $promenljiva := xpath_putanjaWHERE kvalifikacioni_izrazRETURN xml_konstrukcija
• “$” označava promenljivu• LET dodeljuje promenljivoj vrednosti izraza putanje• FOR kaluzula definiše iterator promeljivu koja uzima
vrednosti iz skupačvorova definisanog preko putanje
![Page 27: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/27.jpg)
XQuery - XML upitni jezik
FOR $x IN document("Otpremnica.xml")//Stavka
{ promenljiva x uzima kao svoju vrednost redomsvaku stavku dokumenta Otpremnica}
LET $x := dokument ("Otpremnica.xml)//Stavka
{promenljiva x uzima kao svoju vrednost ceo skupstavki dokumenta Otpremnica }
![Page 28: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/28.jpg)
XQuery - XML upitni jezik
“Prikaži sve proizvode koji se nalaze na optremnici”
LET klauzulom definiše promenljiva koja kao vrednostuzima skup svih proizvoda.
Rrezultatće biti prikazan kao novi XML dokument.
LET $x := document ("Otpremnica.xml")//Proizvod
RETURN <sviProizvodi>
$x
</sviProizvodi>
![Page 29: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/29.jpg)
XQuery - XML upitni jezik
Daj sa Otpremnice sve proizvodečiji naziv počenje saslovom “P”
FOR $a IN document(“Otpremnica.xml”)//Proizvod
WHERE substring($a/nazivProizvoda,1,1)=‘P’
RETURN <artikli>
$a/*
</artikli>
Pošto je neophodno proveriti svaku stavku definiše se iteratorska promenljiva sa klauzulom FOR.
![Page 30: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/30.jpg)
Na dve URI adrese data dva XML dokumenta: dobavljaci.xml kojisadrži sve podatke o svim dobavljačima i otpremnice.xml koji sadrže podatke o svim otpremnicama.Upit «Prikaži sve podatke o dobavljačima i broj i datum optremnicakoje su dobavljači isoručili u 2003 godini»
Upit po više dokumenata
![Page 31: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/31.jpg)
XQuery klijent
Oracleomotac
Oracle9i MS SQL Server
SQL Serveromotac
XQueryanalizator
XML Sintetizator
ProcesorXQuery
upita
Katalogpreslikavanja
XML<---> SQL
XQery XML rezultat
SQL uipt za XML SQL upit za XML
XML
XML
XML POSREDNIK INTEGRACIJAPODATAKA
![Page 32: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/32.jpg)
XML baze - proizvodi
![Page 33: XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum PoNar) Dobavljac (SifraDobav, NazivDobav, AdresaDobav) Narudzbenica (BrojNarDob , OdDobavlj)](https://reader033.vdocument.in/reader033/viewer/2022052816/60ac11ad603e5115484c2f88/html5/thumbnails/33.jpg)