PMJ, XML

Podobni dokumenti
Chapter 1

Standardi za označevanje dokumentov Razlogi za standardizacijo označevanja dokumentov, označevalni jeziki: MARC, RTF, Teχ, LaTeχ, SGML.

PMJ, XPath

Podatkovni model ER

IZGRADNJA PREDSTAVITVENE SPLETNE STRANI GLUCOWATCH Avtor: Marko Zajko Projekt delno financira Evropska unija, in sicer iz Evropskega socialnega sklada

ACAD-BAU-Analiza-prostorov

PRIPOROČILA ZA OBLIKOVANJE KATALOGOV ZNANJA ZA MODULE V PROGRAMIH VIŠJEGA STROKOVNEGA IZOBRAŽEVANJA

1 MMK - Spletne tehnologije Vaja 5: Spletni obrazci Vaja 5 : Spletni obrazci 1. Element form Spletni obrazci so namenjeni zbiranju uporabniških podatk

Diapozitiv 1

Slide 1

Microsoft Word - M docx

Orodje za izvoz podatkov

Microsoft Word - M _mod..docx

PowerPointova predstavitev

EU-TPD 1 PODROBNOSTI KODIRANJA Informacije za trgovino JB za DCTA, (Final 1.2) Obveznost kodiranja izdelka, urejena s predpisom EU-TPD se n

Microsoft Word - M doc

Vprašanja za 2. izpitno enoto poklicne mature Strokovni predmet NPA Vprašanja Visual C# (4. letnik) 1. Uporabniški vmesnik razvojnega okolja Visual C#

Microsoft PowerPoint - PIS_2005_03_02.ppt

Aleš Štempihar Agile in IIBA poslovni analitiki dodana vrednost za organizacijo in njene kupce Povzetek: Kaj je pravzaprav Agile? Je to metodologija z

DES

ARRS-BI-FR-PROTEUS-JR-Prijava/2011 Stran 1 od 7 Oznaka prijave: Javni razpis za sofinanciranje znanstvenoraziskovalnega sodelovanja med Republiko Slov

David Zakelšek SPLETNA PODPORA UČENJU MATEMATIKE Diplomsko delo Maribor, september 2013

Document ID / Revision : 0519/1.3 ID Issuer System (sistem izdajatelja identifikacijskih oznak) Navodila za registracijo gospodarskih subjektov

CMSC 838T Lecture

Microsoft PowerPoint _12_15-11_predavanje(1_00)-IR-pdf

Delavnica Načrtovanje digitalnih vezij

SQL doc. dr. Evelin Krmac RELACIJSKE PODATKOVNE BAZE Relacijski model organizacije podatkov podatki predstavljeni preko relacij 2D tabel operacije se

Protege, I.Savnik

Pridobivanje, integracija in prikaz podatkov za potrebe cenilcev

1. IDENTIFIKACIJA PODATKOVNEGA NIZA 1.1 Naslov Strukturno-tektonska karta Slovenije 1: Alternativni naslov Strukturno-tektonska karta Slove

Microsoft Word - M docx

Microsoft PowerPoint - Sestanek zastopniki_splet.ppt

Turingov stroj in programiranje Barbara Strniša Opis in definicija Definirajmo nekaj oznak: Σ abeceda... končna neprazna množica simbolo

Vaja 3 Kopiranje VM in namestitev aplikacij - strežnik SQL 2000 SP3a A. Lokalni strežnik Vmware ESX Dodajanje uporabnikov vajexx v skupino Vaje

VAJE RID 1 (4), program PTI, šol

Microsoft PowerPoint - Sequi_SecDAy.ppt

COBISS3/Medknjižnična izposoja

Macoma katalog copy

Pakiranje elektronskih učnih gradiv: uporaba standardov za boljšo prenosljivost

Šolski center Celje Srednja šola za kemijo, elektrotehniko in računalništvo ELEKTRONSKA REDOVALNICA RAZISKOVALNA NALOGA AVTORJI Aleš Budna Jure Ulaga

Microsoft Word - ARRS-MS-BR-07-A-2009.doc

PowerPoint Presentation

RAM stroj Nataša Naglič 4. junij RAM RAM - random access machine Bralno pisalni, eno akumulatorski računalnik. Sestavljajo ga bralni in pisalni

Microsoft Word - ARRS-MS-FI-06-A-2010.doc

Slide 1

Univerza v Ljubljani Fakulteta za računalništvo in informatiko Rok Erjavec Aplikacija za upravljanje identifikatorjev in podatkov v sistemu z NFC nadz

Microsoft Word - M docx

Nove različice programske opreme GE Podjetje GE Digital, vodilni svetovni proizvajalec programske opreme za področje avtomatike, je izdalo kar nekaj n

Elektronska pošta

Najboljša skupaj Kontrola pristopa + registracija delovnega časa

(Microsoft PowerPoint - Milan Ojster\232ek_IJU2014)

Microsoft Word - Vaja5.doc

Diplomsko delo visokošolskega strokovnega študija Informatika v organizaciji in managementu SPLETNA REŠITEV ZA ISKANJE TERMINOV IN LOKACIJ PREDAVANJ M

ARHIV DRUŽBOSLOVNIH PODATKOV in SEKUNDARNA ANALIZA PODATKOV

Zadeva: Ponudba

NASLOV PREDAVANJA IME IN PRIIMEK PREDAVATELJA

Diapozitiv 1

(Microsoft Word - U\350enje telegrafije po Kochovi metodi.doc)

DODATEK_F8

MATLAB programiranje MATLAB... programski jezik in programersko okolje Zakaj Matlab? tipičen proceduralni jezik enostaven za uporabo hitro učenje prir

5 SIMPLICIALNI KOMPLEKSI Definicija 5.1 Vektorji r 0,..., r k v R n so afino neodvisni, če so vektorji r 1 r 0, r 2 r 0,..., r k r 0 linearno neodvisn

VSEBINSKI NASLOV SEMINARSKE NALOGE

NEVTRIN d.o.o. Podjetje za razvoj elektronike, Podgorje 42a, 1241 Kamnik, Slovenia Telefon: Faks.: in

UNIVERZA NA PRIMORSKEM

Navodila za izdelavo diplomske naloge

Priloga 1: Pravila za oblikovanje in uporabo standardiziranih referenc pri opravljanju plačilnih storitev Stran 4012 / Št. 34 / Uradni lis

Microsoft Word - bibliografske-zbirke-medicina.doc

VS_Uroı_−antelj_1979

Pisanje strokovnih in znanstvenih del doc. dr. Franc Brcar Prirejeno po: Brcar, F. (2016). Pi

UNIVERZA V LJUBLJANI FAKULTETA ZA RAČUNALNIŠTVO IN INFORMATIKO Dean Podgornik Uporaba konceptov spleta druge generacije pri izgradnji spletnih aplikac

Stran

LAMP, MEAN, ANNE – kaj izbrati za razvoj spletne aplikacije?

Oznaka prijave: Javni razpis za sofinanciranje znanstvenoraziskovalnega sodelovanja med Republiko Slovenijo in Združenimi državami Amerike v letih 201

UNIVERZA V LJUBLJANI EKONOMSKA FAKULTETA MAGISTRSKO DELO ANALIZA INFORMACIJSKE REŠITVE ZA E-POSLOVANJE IZBRANEGA ZAVODA Ljubljana, 7. februar 2019 MIT

Folie 1

UČNI NAČRT PREDMETA / COURSE SYLLABUS Predmet: Podatkovne baze 2 Course title: Data bases 2 Študijski program in stopnja Study programme and level Vis

PREDLOG ZA AKREDITACIJO

Microsoft PowerPoint - krstulovic

UPRAVLJANJE RAZPRŠENIH PODATKOV Shranjevanje, zaščita in vzdrževanje informacij, ki jih najbolj potrebujete

PowerPoint Presentation

Microsoft Word - diplomsko delo in izpit

TNUV Lab

Upravljanje sistema COBISS Navodila za uporabo tiskalnika CITIZEN S310II V1.0 VIF-NA-27-SI

Nameščanje Adopt Open Java Development Kit 8

Navodila za pripravo oglasov na strani Med.Over.Net v 2.2 Statistično najboljši odziv uporabnikov je na oglase, ki hitro in neposredno prenesejo osnov

Diapozitiv 1

1. julij 2019 Številka: 11/2019 X. mesec 2005 Številka: XX/2005 Mestna občina Velenje - ŽUPAN Na podlagi 37. člena Statuta Mestne občine Velenje (Urad

Komisija za študijske zadeve UL Medicinske fakultete Vrazov trg 2 SI-1000 Ljubljana E: T: Režim študija Predmet: Uvod

VPELJAVA MDM V DRŽAVEM ZBORU MATJAŽ ZADRAVEC

Nameščanje Adopt Open Java Development Kit 8

NASLOV PREDAVANJA IME IN PRIIMEK PREDAVATELJA

PowerPoint Presentation

Microsoft Word - CNC obdelava kazalo vsebine.doc

II-RIS-Primer Seminarske Naloge Redni-LJ

PowerPointova predstavitev

eAsistent izpis

Microsoft Word - P-2_prijava

SharePoint GRADNIKI ZA IZBOLJŠANE UPORABNIŠKE IZKUŠNJE

Transkripcija:

XML I.Savnik, FAMNIT

Ozadje 1978 - ANSI (American National Standards Institute) - ustanovljena skupina za pripravo standarda jezika za opis besedil. 1984 - ANSI in ISO (International Standards Organization) - priprava mednarodnega standarda. Osnutek je bil objavljen leta 1985, naslednje leto pa tudi sam standard SGML.

Ozadje SGML je bil že med nastajanjem in ob samem začetku podprt z dvema večjima projektoma: 1983-1987 je delovna skupina pri Association of American Publishers pripravila v SGML opise zvrsti knjiga, časopis in članek EMP (Electronic Manuscript Project) 1987 US DoD zahteva enotno tehnično dokumentacijo vseh naročenih izdelkov CALS (Continuous Acquisition and Life-cycle Support) 1990 nov projekt HTML (Tim Berners-Lee uporabi SGML in zgradi DTD (specifična množica označb) za hipertekst podobno lahko obravnavamo LaTeX, pdflatex, html2latex,... kot ~SGML/XML s specifičnim DTD)

SGML - HTML HTML specifična fiksna množica značk HTML opis prezentacije SGML - ločuje med obliko in vsebino SGML - objavljanje (publishing) SGML elektronski dokumenti, arhivi, knjižnice

Zakaj XML? Kompleksnost SGML Definicija strukture dokumenta/podatkov HTML ne omogoča Jezik za opis podatkov Prenos podatkov med aplikacijami (v organizacijah, med organizacijami) Shranjevanje/prenos podatkov na spletu

XML zahteve XML mora biti neposredno uporaben na spletu XML mora podpirati veliko množico uporab XML mora biti skladen s SGML Pisanje programov, ki procesirajo XML dokumente, mora biti preprosto Število dodatnih (opcijskih) elementov XML naj bo minimalno, idealno nič 1. XML dokumenti morajo biti berljivi in jasni 2. Priprava modela XML jezika mora biti hitra XML mora biti formalen in jedrnat Priprava XML dokumentov mora biti preprosta 1. Razumljivost XML dokumentov je bistvenega pomena (in zgoščenost minimalnega pomena)

<Tag značka> Očitno: označevalni jeziki uporabljajo značke Ideja označevanja je zelo stara: presledki (white spaces), označevanje začetka in konca stavka, odstavki,..., uredniški popravki,

<Tag značka> dandanašnje značke,... WordPerfect 7 Reveal Codes okno WordStar, LaTeX, Word, HTML,...

<Tag značka> Značke: Postopkovno označevanje: značka določa kaj se zgodi z označenim delom besedila (WordStar, WorfPerfect, Word, PS, RTF,...) Vsebinsko označevanje: opisno oblikovanje glede na izbran stil ((La)TeX, Word,...) posplošeno določitev značilnih sestavin in njihove medsebojne povezanosti tvorimo znakovno podatkovno bazo (SGML, XML)

<Tag značka> SGML navodilo: značka se naj začne z znakom < in konča z znakom > Zakaj tekstovne značke? Večja prenosljivost med različnimi okolji! Boljša berljivost!

XML XML je namenjen Strukturiranju, shranjevanju in prenosu podatkov XML opisuje podatke in zveze med podatki XML nima definiranih značk značke definiramo sami - slovnica XML je množica podobnih jezikov (prim. kontekstno neodvisni jeziki) XML uporablja DTD ali XML Schema za opis strukture podatkov - slovnice

XML zgradba jezika Struktura + Vsebina DTD (Document Type Definition zvrst spisa) definira strukturo zvrsti dokumenta slovnica G in organizacija značk XML dokument, ki uporablja te značke za označevanje vsebine beseda w, ki je v jeziku L(DTD)

XML struktura dokumenta Uvod (Prolog) ukazi za definiranje razpoznavalnika (parser) slovnica, G Telo vsebina, pomembna za ljudi beseda w Zaključek (Epilog) zaključni komentarji

XML - jezik XML dokument je beseda w v jeziku, ki ga definira slovnica DTD G=(Σ, Γ, S, P): vsak dokument ima korenski element (S) med elementi veljajo odnosi kot jih definirajo produkcije P (drevo izpeljave) simbole (X Γ) imenujemo tudi imenujejo veje, črke (a Σ) pa listi elementi lahko vsebujejo atribute ali prilastke, ki jim dodajo funkcionalnost (npr. podajajo opise, omogočajo iskanje ipd.) Napake v besedilu bodo programsko opremo ustavile prevajanje do napake pride, če w L (DTD)

XML - osnovni gradniki Elementi Značke opisujejo podatkovni objekt Atributi (prilastki) Opisujejo lastnosti objektov - elementov Entitete Deli skupnega teksta Komentarji

XML - primer <?xml version="1.0"?> <!-- File Name: Inventory.xml --> <inventory> <book genre= comp id= b724 > <title>database Management Systems</title> <author><firstname>raghu</firstname> <lastname>ramakrishnan</lastname> </author> <publisher>mcgraw Hill</publisher> <year>2000</year> </book> </inventory>

XML - osnovna pravila Vsebuje deklaracijo dokumenta Vsaka začetna značka mora imeti tudi pripadajočo končno značko Strukture morajo biti pravilno gnezdene Vrednosti atributov so navedene v narekovajih Na najvišjem nivoju je lahko le en element korenski element (S)

XML - veljaven dokument XML dokument je dobro oblikovan, če veljajo v njem osnovna pravila Ima pravo obliko in strukturo Preverjanje vsebine (telo XML dokumenta) XML dokument je veljaven, če: je dobro oblikovan in njegova struktura ustreza slovnici (DTD definiciji) Preverjanje DTD in XML Beseda jezika L (DTD)

XML - atribut Alternativni način opisa informacij Opis lastnosti elementa Vrednost atributa je v narekovajih <book genre= comp >

XML - identifikatorji Zgolj oblikovni gradnik Veljajo znotraj celotnega dokumenta <person id= o555 > <name>janez</name> </person> <person id= o456 > <name>marija</name> <children idref= o123 o555 /> </person> <person id= o123 mother= o456 ><name>tone</name> </person>

DTD Document Type Descriptor Podedovan od SGML Podoben DB shemi, čeprav ni zares BNF slovnica (prim. kontekstno neodvisni jezik) Definicija elementov specifičnega XML jezika

DTD - primer <!element book (title,author*,publisher,year) > <!element title #PCDATA > <!element publisher #PCDATA > <!element year #PCDATA > <!element author (firstname,lastname,address?,age?) > <!attlist book id ID #required > <!attlist book genre CDATA #required >

DTD - zgradba Elementi <!ELEMENT element-name category> <!ELEMENT element-name (element-content)> E1,E2,... ; E* ; E+ ; E? ; E1 E2 Tipi: #PCDATA, EMPTY, ANY

DTD - zgradba Atributi <!ATTLIST el-name attr-name attr-type default-value> Tipi: CDATA, (en1 en2..), ID, IDREF, ENTITY, Določila: #required, #implied, #fixed

DTD - zgradba Entitete <!ENTITY entity-name "entity-value"> <!ENTITY writer "Donald Duck."> -- uporaba: &writer;

DTD+XML vs. Relacije XML Primeren bolj za dokumente kot podatke Ime in tip elementov so povezani globalno Ni podpore podatkovnim tipom Ni validacije podatkov Imamo lahko en sam ključ Ni ključev z več atributi Ni tujih ključev (reference na ključe) Ni omejitev za IDREF Ni podpore za ponovno uporabo strukture OO strukture niso podprte Ni mogoče ohraniti informacije pri prevajanju iz relacijskega podatkovnega modela v XML

XML Schema XML oblika DB sheme! Imena elementov in tipi so povezani lokalno Vsebuje osnovne podatkovne tipe (integer, string, date, itn.) Podpira omejitve vrednosti (integer > 100) Uporabniški podatkovni tipi Dedovanje (extension, restriction) Tuji ključi

XML Schema - primer <schema version= 1.0 xmlns= http://www.w3.org/1999/xmlschema > <element name= author type= string /> <element name= date type = date /> <element name= abstract > <type> </type> </element> <element name= paper > <type> <attribute name= keywords type= string /> <element ref= author minoccurs= 0 maxoccurs= * /> <element ref= date /> <element ref= abstract minoccurs= 0 maxoccurs= 1 /> <element ref= body /> </type> </element> </schema>

XML pomembni standardi CSS,XSL/XSLT: Prezentacija in transformacija dokumentov in podatkov RDF: resource description framework Meta-info, kategorije, semantične mreže, Xpath/Xpointer/Xlink: standard za povezovanje dokumentov in elementov Namespaces: Delo z imeni DOM: Document Object Model Delo z XML dokumenti v prog. jezikih SAX: Enostaven API za XML XQL,Xquery, XML-QL: poizvedovalni jezik

XQL Osnova W3C standard Rezultati izrazov so množice objektov./author, author, //author, /bookstore Dostop do otrok Elementi: author/firstname, bookstore//title, bookstore/*/title Atributi: price/@exchange, price/@exchange/total, book[@style] Filtri book[excerpt], book[author/degree] author[degree $and$ award] author[$not$ (degree $or$ award) $and$ publication] Funkcije author[first-name!text() = 'Bob'], author[*!text() = 'Bob']

XML-QL primer 1 Izpiši avtorje in naslove vseh knjig založbe Addison-Wesley. WHERE <book> <publisher>addison-wesley</publisher> <title>$t</title> <author>$a</title> </book> IN www.bookstore.com/books.xml CONSTRUCT <result> <author> $a</author> <title> $t</title> </result>

XML-QL primer 2 Izpiši leta in priimke avtorjev, ki so izdali knjigo na to leto. WHERE <book>$e</book> IN www.bookstore.com/books.xml, <author>$n</author>, <year>$p</year> IN $e CONSTRUCT <result><year>$p</year> WHERE <lastname>$l</lastname> IN $n CONSTRUCT <lastname>$l</lastname> </result>

Uporaba Cascading Style Sheet <?xml version="1.0"?> <!-- File Name: Inventory02.xml --> <?xml-stylesheet type="text/css" href="inventory02.css"?> <INVENTORY> <BOOK> <TITLE>The Adventures of Huckleberry Finn</TITLE> <AUTHOR>Mark Twain</AUTHOR> <BINDING>mass market paperback</binding> <PAGES>298</PAGES> <PRICE>$5.49</PRICE> </BOOK> <BOOK> <TITLE>Leaves of Grass</TITLE> <AUTHOR>Walt Whitman</AUTHOR> <BINDING>hardcover</BINDING> <PAGES>462</PAGES> <PRICE>$7.75</PRICE> </BOOK>... </INVENTORY> procesni ukaz /* File Name: Inventory02.css */ BOOK {display:block; margin-top:12pt; font-size:10pt} TITLE {display:block; font-size:12pt; font-weight:bold; font-style:italic} AUTHOR {display:block; margin-left:15pt; font-weight:bold} BINDING {display:block; margin-left:15pt} PAGES {display:none} PRICE {display:block; margin-left:15pt}

extensible Stylesheet Language <?xml version="1.0"?> <!-- File Name: XslDemo02.xsl --> <xsl:stylesheet xmlns:xsl="http://www.w3.org/tr/wd-xsl"> <xsl:template match="/"> <H2>Book Inventory</H2> <xsl:for-each select="inventory/book"> <SPAN STYLE="font-style:italic">Title: </SPAN> <xsl:value-of select="title"/><br /> <SPAN STYLE="font-style:italic">Author: </SPAN> <xsl:value-of select="author"/><br /> <SPAN STYLE="font-style:italic">Binding type: </SPAN> <xsl:value-of select="binding"/><br /> <SPAN STYLE="font-style:italic">Number of pages: </SPAN> <xsl:value-of select="pages"/><br /> <SPAN STYLE="font-style:italic">Price: </SPAN> <xsl:value-of select="price"/><p /> </xsl:for-each> </xsl:template> </xsl:stylesheet> XSL ID Definicija imenskega prostora vzorec se nanaša na cel XML dokument upoštevanje XML pravil <?xml-stylesheet type="text/xsl" href="xsldemo02.xsl"?>... Omogoča izločanje in sortiranje podatkov Dosegljiv je vsak podatek, četudi je podan s prilastkom

Zaključek Podjetja uvajajo XML kot medij za prenos podatkov med oddelki Sistemi (distribuirani) uporabljajo XML kot medij za prenos podatkov Konfiguracijske datoteke, logi, sistemov so pogosto v XML Večina DBMS ima XML vmesnik

Viri Peter Peer, Andrej Brodnik prosojnice za 2003/04 Raghu Ramakrishnan Knjiga: Database Management Systems http://www.w3.org/xml http://www.w3schools.com/