+ All Categories
Home > Documents > XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum...

XML modeli (WEB modeli) - vps.ns.ac.rs · Otpremnica –Relacioni model Otpremnica (Broj ,Datum...

Date post: 22-Jan-2021
Category:
Upload: others
View: 4 times
Download: 0 times
Share this document with a friend
33
XML modeli (WEB modeli)
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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

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)

Recommended