uvod v xml

Post on 23-Feb-2016

94 Views

Category:

Documents

0 Downloads

Preview:

Click to see full reader

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

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Uvod v XML

- 1 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

<B>John Q Public</B><P> john.q.public.1@gsfc.nasa.gov<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>john.q.public.1@gsfc.nasa.gov</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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

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 -

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

XMLSpy

- 36 -

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Oxygen

- 37 -

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Oxygen

- 38 -

PODATKOVNE BAZEModul: XML©Laboratorij za podatkovne tehnologije

Stylus Studio

- 39 -

top related