uvod v xml

39
PODATKOVNE BAZE Modul: XML ©Laboratorij za podatkovne tehnologije Uvod v XML - 1 -

Upload: jessie

Post on 23-Feb-2016

92 views

Category:

Documents


0 download

DESCRIPTION

Uvod v XML. ˝ For every complex problem there is a solution that is simple, neat and wrong . ” H. L. Mencken. < CITAT > < TEKST >For every complex problem there is a solution that is simple, neat and wrong . < AVTOR H . L. Mencken - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Uvod v XML

- 1 -

Page 2: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

˝For every complex problem there is a solution that is simple, neat and wrong.”

H. L. Mencken

<?xml version "1.0" ?><CITAT>

<TEKST>For every complex problem there is a solution that is simple, neat and wrong.

</TEKST><AVTOR H. L. Mencken </AVTOR>

</CITAT>

- 2 -

Page 3: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Kaj je XML? Razširljivi označevalni jezik (eXtensible

Markup Language) Podoben jeziku HTML Ni namenjen prikazu ampak prenosu

podatkov Značke (tags) niso predpisane vnaprej Je samopojasnjujoč Priporočilo organizacije W3C (

http://www.w3.org/)

- 3 -

Page 4: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Dejavniki uspeha XML Vsesplošno sprejet standard Uporablja se za izmenjavo podatkov Zagotavlja mehanizem interoperabilnosti Tekstovni format, ki ga je moč prebrati

povsod Cena dodatnega procesiranja je

zanemarljiva

- 4 -

Page 5: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Ključne prednosti XML dokumentov Aplikacijska neodvisnost dokumentov in

podatkov– Podatki so razumljivi vsem in ne samo aplikacijam, ki

so jih zapisale;– Iskanje po podatkih je relativno enostavno oziroma

ekvivalentno iskanju po običajnih spletnih straneh;

Standardizirana sintaksa meta-podatkov (pomena podatkov)– Meta-podatki so podatki o podatkih;– Gre za podoben princip kot je kazalo v knjigi;

- 5 -

Page 6: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Ključne prednosti XML dokumentov Standardizirana struktura

– Omogoča zapis semantičnih podatkov za dokumente in podatkovna polja

– Zapis hierarhične strukture v obliki drevesa;– Drevesna struktura omogoča rekurzivno

dekompozicijo konceptov na sestavne dele;

Uveljavljena tehnologija– XML je podmnožica standarda SGML (Standardized

Generalized Markup Language), ki je bil definiran že leta 1969

- 6 -

Page 7: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Kaj je XML? Nabor sintaktičnih pravil, ki omogočajo

izdelavo semantično bogatih označevalnih jezikov za različne domene

Jezik za ustvarjanje jezikov, ki opisujejo podatke– Nov jezik ustvarimo oz. definiramo s pomočjo pravil XML

Ključno načelo: označevanje je ločeno od vsebine!

Označevalni jeziki dokumentom dodajo semantične podatke o surovi vsebini.Z označevalnim jezikom opredelimo tiste tipe podatkov, ki jih smatramo za pravilne.

- 7 -

Page 8: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Ravni skladnosti XML dokumentov Dobro definiran (well formed) dokument je

dokument, ki zadošča vsem WC3 sintaktičnim pravilom za XML – Pravila za poimenovanje, gnezdenje, označevanje

atributov…– Dobra definiranost je za XML dokumente obvezna

Formalen (valid) dokument je dokument, ki je skladen s shemo– Formalnost je za XML dokument opcijska;

- 8 -

Page 9: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

XML shema Shema je ločen dokument, ki definira

elemente, atribute in strukturo XML dokumenta

Shemo določimo tako, da 1. definiramo slovar in 2. določimo postavitev ter število elementov in

atributov v označevalnem jeziku Shema definira točno določen razred

dokumentov

- 9 -

Page 10: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

<?xml version="1.0" encoding="UTF-8"?><xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Author"> <xs:complexType> <xs:sequence> <xs:element name="FirstName" type="xs:string" /> <xs:element name="LastName" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element></xs:schema>

<?xml version="1.0"?><Author xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Author.xsd"> <FirstName>Mark</FirstName> <LastName>Twain</LastName></Author>

XML Shema - Primer

Author.xsd

MarkTwain.xml

Shema Author.XSD definira strukturo elementa Author

MarkTwain.XML je instanca oz. primerek zgoraj definirane sheme

- 10 -

Page 11: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Kaj je XML? XML je jezik, ki se uporablja za elektronsko

predstavitev strukturiranih dokumentov in podatkov

Primer:<Article > <Headline>Direct Marketer Offended by Term 'Junk Mail' </Headline> <authors> <author> Joe Garden</author> <author> Tim Harrod</author> </authors> <abstract>Dan Spengler, CEO of the direct-mail-marketing firm Mailbox of Savings, took umbrage Monday at the use of the term "junk mail." </abstract> <body type="url" > http://www.theonion.com/archive/3-11-01.html </body></Article>

Vrstni red je pomemben, presledki niso!- 11 -

Page 12: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Primer… <?xml version="1.0" ?> <rooms>

<room name="Red"> <capacity>10</capacity> <equipmentList>

<equipment>Projector</equipment>   </equipmentList> 

</room><room name="Green"> 

<capacity>5</capacity>  <equipmentList /> <features> 

<feature>No Roof</feature> </features> 

</room>  </rooms>

- 12 -

Page 13: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Kaj je XML? Prilagodljiv format s katerim je mogoče

opisati poljuben dokument Samopojasnjujoč format

– XML dokument vsebuje vse podatke o vrednostih polj, ki so z njim povezane

XML dokumente le opiše– XML ne definira pomena– XML ne opredeli načina prikaza

- 13 -

Page 14: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Razlike med HTML in XML

HTML XMLvnaprej določen nabor značk značke definiramo sami

značke usmerjene v videz dokumenta

značke opisujejo pomen dokumenta

značke lahko izpuščamo vse značke morajo biti prisotne

strani dostikrat niso pravilno napisane

dokumenti morajo biti dobro napisani

- 14 -

Page 15: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Prednosti jezika XML pred jezikom HTML HTML stran vsebuje podatke, ki so kodirani

v obliki, ki jo ljudje enostavno interpretirajo Programska obdelava HTML strani je

zahtevna ker manjka struktura podatkov

Novica v html formatu:• Kaj je naslovna vrstica zgodbe?• Kdo je avtor zgodbe?• V katero kategorijo je

umeščena?• Kdaj je bila objavljena?• …- 15 -

Page 16: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Prednosti jezika XML pred jezikom HTML Potrebujemo stran, ki ima eksplicitno

definirano strukturo in omogoča enostavno obdelavo podatkov s programsko opremo

<?xml version="1.0" ?> <novice>

<novica naslov="Google ustavil digitalizacijo starih časnikov"> <kategorija1>omrežja</kategorija1><kategorija2>internet</kategorija2><datum>20.5.2011</datum><vir>Heise</vir> <avtor>Matej Huš</avtor> <besedilo>Google je končal digitalizacijo starih časnikov, ki

predstavljajo odsev dogajanja po svetu v zadnjih 250 letih. Projekt se je začel leta 2006 z indeksiranjem starih izvodov The New York Timesa… </besedilo>  

</novica></novice>

- 16 -

Page 17: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

<B>John Q Public</B><P> [email protected]<BR>phone: 301-286-aaaa<BR>fax: 301-286-bbbb<BR>Bldg. 23, Rm. 999<BR>NASA<BR>Goddard Space Flight Center<BR>588.0<BR>Greenbelt, MD 20221<BR>

<EMPOLYEE> <NAME> <FIRST>John</FIRST> <MIDDLE>Q</MIDDLE> <LAST>Public</LAST> </NAME> <EMAIL>[email protected]</EMAIL> <PHONE>301-286-aaaa</PHONE> <FAX>301-286-bbbb</FAX> <LOCATION> <BUILDING>Bldg. 23</BUILDING> <ROOM>999</ROOM> </LOCATION> <ADDRESS> <ORG>NASA</ORG> <CENTER>Goddard Space Flight Center</CENTER> <MAILSTOP>588.0</MAILSTOP> <CITY>Greenbelt</CITY> <STATE>MD</STATE> <ZIP>20221</ZIP> </ADDRESSV></EMPLOYEE>

Prednosti jezika XML pred jezikom HTML

- 17 -

Page 18: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Aplikacije, ki uporabljajo XML Komunikacija med računalniki EAI (Enterprise Application Integration) CMS (Content Management Systems) Sistemi namenjeni brezžični komunikaciji

(Wireless Communication Systems) Dlančniki in pametni telefoni Sistemi za eUčenje Spletne storitve …

- 18 -

Page 19: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Zakaj ravno sedaj? Imamo splet

– Enostavna množica protokolov za posredovanje dokumentov (HTTP/TCP/IP)

– Velika množica gostiteljev, ki so pripravljeni za izmenjavo dokumentov

Kako uporabiti to infrastrukturo za reševanje večnih problemov:– avtomatizacija poslovanja,– izmenjava strokovnih člankov,– izmenjava recenzij,– …

- 19 -

Page 20: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Zakaj ravno sedaj? Rešitev naštetih problemov je v uporabi

infrastrukture, ki omogoča, da strežniki generirajo strani, ki jih splošni odjemalci znajo interpretirati

- 20 -

Page 21: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

XML tehnologije XML urejevalniki:

– Orodja, ki omogočajo izdelavo, urejanje in validacijo XML dokumentov.

Orodja za obdelavo XML:– Orodja, ki omogočajo transformacijo XML podatkov

(dokumentov) v nekaj kar lahko prikažemo v brskalniku. Orodja, ki omogočajo obdelavo XML iz

programskih jezikov: – Orodja (XML parsers), ki omogočajo pretvorbo XML podatkov

v podatkovne tipe programskih jezikov (Xerces (Apache) in XT (James Clark)).

– XML API-ji, ki omogočajo posodabljanje in branje XML podatkov potem, ko so ti že v podatkovnih strukturah nekega programskega jezika (DOM, SAX).

- 21 -

Page 22: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

XML tehnologije Xpath – omogoča identifikacijo podsklopov

dokumentov, ki se uporabljajo znotraj XSL, Xquery ali kakšnega drugega jezika, ki bazira na XML.

DTDs in XML Shema – omogoča opis različnih dialektov XML.

Xquery – omogoča poizvedovanju po XML dokumentih.

Xlink, Xpointer – omogoča povezovanje in referenciranje podatkov znotraj XML dokumenta.

XML-RPC, SOAP – omogoča oddaljene klice procedur (RPC) prek XML.

- 22 -

Page 23: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Zgodovina XML SGML - Structured Generalized Markup

Language:– Zasnoval W. Goldfarb 1969-1986,– Predlog za opisovanje dokumentov,– Standardiziran s strani ISO 1986,– Osnovna ideja je prikaz strukture dokumenta

<BOOK genre="essay"> <TITLE> The Anatomy of Melancholy </TITLE> <AUTHOR> Robert Burton </AUTHOR> <PREFACE> <TITLE> Democritus Junior to the Reader

</TITLE> </PREFACE></BOOK>

- 23 -

Page 24: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Zgodovina XML– Sintaksa zelo podobna XML, ampak omogoča

številne nepravilnosti, ki jih XML odpravi.– Orientiran proti velikim centraliziranim repozitorijem

dokumentov, kot so založniške hiše, tehnični in pravni dokumenti itd.

– Težavna implementacija. eXtensible Markup Language (XML):

– Zasnovan s strani W3C leta 1996.– Standardiziran v letu 1998.– Podeduje številne lastnosti SGML:

enostavnejši, manj obsežne specifikacije, striktnejši.

- 24 -

Page 25: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

XML in HTML HTML zasnovan kot tip dokumenta znotraj

SGML– V praksi malo HTML dokumentov ustreza

standardom (konvencijam) SGML in XML Skupaj z XML je bila sprejeta tudi nova

verzija HTML-ja imenovana XHTML– XHTML je skladen z XML– HTML dokumenti, ki nastanejo iz drugih virov (XML,

PPT) so načeloma skladni z XHTML Isti javanski vmesniki (API), ki se

uporabljajo za delo z XML, delujejo tudi na HTML (ne zgolj na XHTML, čez XSL)

- 25 -

Page 26: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

<?xml version "1.0" ?>

<CML> <MOL TITLE="Water" > <ATOMS> <ARRAY BUILTIN="ELSYM" > H O H</ARRAY> </ATOMS> <BONDS> <ARRAY BUILTIN="ATID1" >1 2</ARRAY> <ARRAY BUILTIN="ATID2" >2 3</ARRAY> <ARRAY BUILTIN="ORDER" >1 1</ARRAY> </BONDS> </MOL></CML>

Začetna značkaZaključna značka

Značke (Tags)

Atributi

XML dokument

Deklaracija

Vrednost atributadokument = besedilo + značkeelement = začetna značka + vsebina + končna značkaelement vsebuje besedilo ali elemente ali oboje (ali nič) - 26 -

Page 27: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

XML dokument in drevesna struktura Značke opredelijo strukturo

dokumenta Značke razčlenijo dokument

na posamezne elemente– Najvišji element imenujemo

korenski element Vsebina se nahaja znotraj

posameznih elementov– Element lahko vključuje besedilo

(CDATA) ali elemente ali oboje (ali nič)

CML

MOL

ATOMS BONDS

ARRAY ARRAY ARRAY ARRAY

HOH 12 23 11

Korenski element

CDATA sekcija

Elementi

- 27 -

Page 28: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

XML in drevesna strukturaPrimer:<?xml version="1.0" ?><rooms> <room name="Red">  <capacity>10</capacity> <equipmentList>  <equipment>Projector</equipment>   </equipmentList>  </room> <room name="Green">  <capacity>5</capacity>   <equipmentList /> <features> <feature>No Roof</feature> </features>  </room>  </rooms>

- 28 -

Page 29: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

XML in drevesna struktura Značke opredelijo strukturo

dokumenta Značke razčlenijo dokument na

posamezne elementerooms

room

capacity equipmentlistequipmentlist

equipment

capacity

room

features

feature10

projector

5

No Roof

<?xml version="1.0" ?><rooms> <room name="Red">  <capacity>10</capacity> <equipmentList> 

<equipment>Projector</equipment>  

</equipmentList>  </room> <room name="Green">  <capacity>5</capacity>   <equipmentList /> <features> <feature>No Roof</feature> </features>  </room>  </rooms>

- 29 -

Page 30: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Deli XML dokumenta ELEMENTI

– Element = začetna značka + vsebino + končna značka

– Element lahko vsebuje besedilo ali druge elemente ali oboje (ali nič)

element z vsebinoprazen element

ATRIBUTI– Elementom lahko pripišemo lastnosti oz. atribute– Lastnosti zapišemo v začetne značke kot pare

atribut = "vrednost" Vrednost mora biti v enakih enojnih ali dvojnih narekovajih

<KNJIGA>…</KNJIGA><VRSTICA/>

<PRELOM stran="11"/><RAZDELEK številka="11" zvrst="podpoglavje">…</RAZDELEK>

- 30 -

Page 31: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Deli XML dokumenta BESEDILO (CDATA sekcija):

– Lahko se nahaja znotraj elementov– Lahko je podano eksplicitno kot

POSEBNI ZNAKI– dokument XML lahko vsebuje tudi posebne znake, ki se ob

procesiranju nadomestijo z nečim drugim– sklic na poseben znak se začne z znakom & (ubežni znak)

in konča s podpičjem &…;

<![CDATA[To je CDATA sekcija, ki lahko vsebuje tudi <‘’> posebne znake]]>

&lt; = <&gt; = >&amp; = & &apos; = '&quot; = "

<formula>1 &lt; 2</formula><podjetje>Procter &amp; Gamble</podjetje>

1 < 2 (formula) Procter & Gamble

(podjetje)

- 31 -

Page 32: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Deli XML dokumenta XML deklaracija

– Označuje začetek dokumenta

Navodila za procesiranje (PIs): – <? …?>

Komentarji– <!-- … -->

Deklaracija tipa dokumenta

<?xml version="1.0"?>

<?xml-stylesheet type=“text/css” href=“mys.css”?>

<!-- comment text -->

<!DOCTYPE DOCUMENT[document info]>

<!DOCTYPE POEM [<!ELEMENT STANZA (LINE*)>…]>

Poimenovanje dokumenta, ki mu je pripet podatek o formatu- 32 -

Page 33: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Pravila dobro definiranih XML dokumentov XML standard zahteva, da se v dokumentih

upoštevajo naslednja pravila:– Obstajati mora en element, ki vsebuje vse ostale– Značke morajo biti uravnotežene

– Gnezdenje značk mora biti izvedeno pravilno.

– Tekst značk je občutljiv na velike in male črke

<BOOK>...</BOOK><BOOK />

<BOOK> <LINE> this is OK </LINE> </BOOK><LINE> <BOOK> this is </LINE> definitely NOT </BOOK> OK

<P> this is not ok, even though we do it all the time in HTML!</p>

- 33 -

Page 34: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Pravila dobro definiranih XML dokumentov Atributi v značkah (tags) morajo biti znotraj

narekovajev.

Komentiranje je dovoljeno.

Dokument se mora začeti z ustreznim nizom (XML deklaracija).

Posebni znaki se morajo pričeti z ubežnim znakom (&)

< ITEM CATEGORY=“Home and Garden” Name=“hoe-matic t500”>

<!-– They are done just as in HTML… -->

<?xml version=‘1.0’ ?>

< " ' > &<formula> x &lt; y+2x </formula><cd title="&quot; music &quot;">

- 34 -

Page 35: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Izdelava XML dokumentov Primeri XML urejevalnikov:

– XMLSpy – http://www.altova.com – Jedit - http://www.jedit.org/ – Oxygen - http://www.oxygenxml.com/ – XML Marker - http://symbolclick.com/ – Notepad

- 35 -

Page 36: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

XMLSpy

- 36 -

Page 37: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Oxygen

- 37 -

Page 38: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Oxygen

- 38 -

Page 39: Uvod v XML

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Stylus Studio

- 39 -