1 / 39

Uvod v XML

Uvod v XML. ˝ 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 >

jessie
Download Presentation

Uvod v XML

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Uvod v XML - 1 -

  2. ˝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 -

  3. Kaj je XML? • Razširljivi označevalni jezik (eXtensibleMarkupLanguage) • Podoben jeziku HTML • Ni namenjen prikazu ampak prenosupodatkov • Značke (tags) niso predpisane vnaprej • Je samopojasnjujoč • Priporočilo organizacije W3C (http://www.w3.org/) - 3 -

  4. 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 -

  5. 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 -

  6. 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 (StandardizedGeneralizedMarkupLanguage), ki je bil definiran že leta 1969 - 6 -

  7. 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 -

  8. Ravni skladnosti XML dokumentov • Dobro definiran (wellformed) 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 -

  9. XML shema • Shema je ločen dokument, ki definira elemente, atribute in strukturo XML dokumenta • Shemo določimo tako, da • definiramo slovar in • določimo postavitev ter število elementov in atributov v označevalnem jeziku • Shema definira točno določen razred dokumentov - 9 -

  10. XML Shema - Primer Author.xsd <?xmlversion="1.0" encoding="UTF-8"?> <xs:schemaxmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:elementname="Author"> <xs:complexType> <xs:sequence> <xs:elementname="FirstName" type="xs:string" /> <xs:elementname="LastName" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:schema> Shema Author.XSDdefinira strukturo elementa Author MarkTwain.xml <?xmlversion="1.0"?> <Authorxmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="Author.xsd"> <FirstName>Mark</FirstName> <LastName>Twain</LastName> </Author> MarkTwain.XML je instanca oz. primerek zgoraj definirane sheme - 10 -

  11. 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> <bodytype="url"> http://www.theonion.com/archive/3-11-01.html </body> </Article> • Vrstni red je pomemben, presledki niso! - 11 -

  12. 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 -

  13. 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 -

  14. Razlike med HTML in XML - 14 -

  15. 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 zahtevnaker manjkastrukturapodatkov • Novica v html formatu: • Kaj je naslovna vrstica zgodbe? • Kdo je avtor zgodbe? • V katero kategorijo je umeščena? • Kdaj je bila objavljena? • … - 15 -

  16. 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 ustavildigitalizacijostarihč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 -

  17. Prednosti jezika XML pred jezikom HTML <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>GoddardSpaceFlight Center</CENTER> <MAILSTOP>588.0</MAILSTOP> <CITY>Greenbelt</CITY> <STATE>MD</STATE> <ZIP>20221</ZIP> </ADDRESSV> </EMPLOYEE> <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> GoddardSpaceFlight Center<BR> 588.0<BR> Greenbelt, MD 20221<BR> - 17 -

  18. 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 -

  19. 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 -

  20. 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 -

  21. 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 -

  22. XML tehnologije • Xpath– omogoča identifikacijo podsklopov dokumentov, ki se uporabljajo znotraj XSL, Xquery ali kakšnega drugega jezika, ki bazira na XML. • DTDsin 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 -

  23. 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 -

  24. 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 -

  25. 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 -

  26. XML dokument Deklaracija <?xml version "1.0" ?> <CML> <MOL TITLE="Water"> <ATOMS> <ARRAYBUILTIN="ELSYM"> H O H</ARRAY> </ATOMS> <BONDS> <ARRAYBUILTIN="ATID1">1 2</ARRAY> <ARRAYBUILTIN="ATID2">2 3</ARRAY> <ARRAYBUILTIN="ORDER">1 1</ARRAY> </BONDS> </MOL> </CML> Značke (Tags) Začetna značka Zaključna značka Atributi Vrednost atributa dokument = besedilo + značke element = začetna značka + vsebina + končna značka element vsebuje besedilo ali elemente ali oboje (ali nič) - 26 -

  27. XML dokumentin drevesna struktura Korenski element CML • 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č) MOL Elementi ATOMS BONDS ARRAY ARRAY ARRAY ARRAY CDATA sekcija 12 23 11 HOH - 27 -

  28. XML in drevesna struktura 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> - 28 -

  29. <?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> XML in drevesna struktura • Značke opredelijo strukturo dokumenta • Značke razčlenijo dokument na posamezne elemente rooms room room capacity features capacity equipmentlist equipmentlist equipment 10 5 feature projector - 29 - No Roof

  30. 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 vsebino prazen 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 -

  31. 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; = " 1 < 2 (formula) Procter & Gamble (podjetje) <formula>1 &lt; 2</formula> <podjetje>Procter &amp; Gamble</podjetje> - 31 -

  32. 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 -

  33. 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 -

  34. Pravila dobro definiranih XMLdokumentov • 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 -

  35. 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 -

  36. XMLSpy - 36 -

  37. Oxygen - 37 -

  38. Oxygen - 38 -

  39. Stylus Studio - 39 -

More Related