1 / 45

XML a jeho aplikace

XML a jeho aplikace. Magdalena Raszková Ústav informatiky PEF MZLU v Brně xraszkov @pef.mendelu.cz. Značkovací jazyk. Značkovací jazyk (markup language) je formálně definovaný jazyk zavádějící množinu speciálních symbolů (značky, tagy)

tyra
Télécharger la présentation

XML a jeho aplikace

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. XMLa jeho aplikace Magdalena Raszková Ústav informatiky PEF MZLU v Brně xraszkov@pef.mendelu.cz

  2. Značkovací jazyk • Značkovací jazyk (markup language) je formálně definovaný jazyk zavádějící množinu speciálních symbolů (značky, tagy) • Značkovací jazyky jsou určeny k vyznačování částí textu podle určitých pravidel, pomocí vyhrazené množiny znaků či sekvencí znaků • Značkování (markup) je proces, kdy je určitý text (dokument) obohacen o nový význam prostřednictvím značek • Značkování může probíhat manuálně či automatizovaně • Důvody značkování • datová nezávislost • životnost označkovaného dokumentu • přehlednost • zjednodušení zpracování dokumentu

  3. Značkovací jazyky • CSV • LaTeX • HTML • XML • a další

  4. XML (eXtensible Markup Language) • Rozšiřitelný značkovací jazyk • Standard konsorcia W3C • Je určen především pro výměnu dat mezi aplikacemi a pro publikování dokumentů • Meta-značkovací jazyk pro textové dokumenty, nedefinuje tedy pevně danou množinu značek • Je možné definovat si vlastní elementy, tak jak je potřeba

  5. Trocha historie nikoho nazabije • V roce 1986 byl jako norma ISO přijat značkovací jazyk SGML (Standard Generalized Markup Language) • SGML je velmi obecný a poměrně složitý • Ze SGML vychází jazyk • HTML • XML

  6. XML aplikace

  7. Elementy <osoba> <jmeno>Magda</jmeno> <prijmeni>Raszková</prijmeni> </osoba> Znaková data <osoba>Magda Raszková</osoba> Smíšený obsah <odstavec> <pojem>XML</pojem>je značkovací… </odstavec> Prázdný element <cara /> nebo <cara></cara> Schéma a obsah XML elementu Element <jméno_značky atribut="hodnota"> obsah </jméno_značky> počáteční značka (počáteční tag) koncová značka (koncový tag)

  8. Logická struktura XML • Na XML data lze nahlížet jako na strom • Jednotlivé části stromu jsou tvořeny elementy a případně dalšími součástmi XML dat • Vztahy mezi prvky vycházejí z terminologie rodokmenů • předek • rodič • sourozenec • dítě • potomek (následník)

  9. Syntaktická pravidla jazyka XML • výhodou jazyka XML je jeho flexibilitaa rozšiřitelnost • na druhou stranu XML dokumenty musí splňovat syntaktická pravidla určující umístění značek, atributů, dovolené způsoby tvoření názvů apod. • Každý XML dokument, který striktně dodržuje dále uvedená syntaktická pravidla (pravidla správné formulace) je označován jako dobře strukturovaný (well-formed)

  10. Syntaktická pravidla jazyka XML • XML dokument obsahuje alespoň jeden element • může být i prázdný • Názvy XML elementů odpovídají pravidlům • jména elementů by měla popisovat a blíže specifikovat, jaké informace jsou v daném elementu obsaženy • názvy elementů musí začínat písmenem nebo podtržítkem • další znaky smí být písmena, číslice, podtržítka, pomlčky, tečky • jiné znaky nejsou povoleny

  11. Syntaktická pravidla jazyka XML • XML dokument obsahuje kořenový element • element na nejvyšší úrovni • „obal“ všech ostatních elementů • XML je case-sensitive • rozlišujeme malá a velká písmena v názvech elementů • XML elementy se nesmí křížit • pokud nějaký element obsahuje počáteční značku jiného elementu, musí obsahovat i příslušnou koncovou značku

  12. Syntaktická pravidla jazyka XML • XML atributy odpovídají pravidlům • pro názvy atributů platí stejná pravidla jako pro názvy elementů • hodnota atributu musí být zapsána mezi uvozovky nebo apostrofy • element nesmí mít dva stejně pojmenované atributy • XML dokument neobsahuje zakázané znaky • v XML existují znaky, které mají svůj specifický význam • tyto znaky nemůžeme zapsat přímo, ale musíme pro ně použít tzv. vestavěné znakové entity • znak < nahrazuje entita &lt; • znak > nahrazuje entita &gt; • znak & nahrazuje entita &amp; • znak " nahrazuje entita &quot; • znak ' nahrazuje entita &apos;

  13. XML hlavička • XML hlavička je deklarací XML dokumentu • Je-li hlavička dokumentu uváděna, pak se musí vyskytnout na úplném začátku dokumentu, nesmí se před ní vyskytnou žádné jiné (ani bílé) znaky • Hlavička je nepovinná (jen v případě použití UTF-8 apod.) <?xml version= "1.0" encoding="iso-8859-2" standalone="no"?> • Atributy: • version – verze xml • encoding – kódování dokumentu • standalone – povinnost číst definice z externí podmnožiny DTD

  14. Editace XML dokumentu • jde o čistě textový formát • jakýkoliv textový editor (Notepad, Emacs, …) • XML editory • XMetaL • Epic • XMLSpy • XMLwriter • XMLmind • Stylus Studio XML Enterprise Suite • Cooktop • a další

  15. DTD (Document Type Definition) • DTD – definice typu dokumentu, obsahuje pravidla zápisu XML dat a jejich definici • Jazyk pro popis struktury XML, ale i (X)HTML • Deklarace typu dokumentu obsahuje DTD (interní podmnožinu) nebo odkaz na DTD (externí podmnožinu) • Deklarace se uvádí před kořenovým elementem: • <!DOCTYPE nazev_koren_elementu [interní podmnožina DTD]> • <!DOCTYPE nazev_koren_elementu SYSTEM "URI externí podmnožiny">

  16. Deklarace a definice obsahu elementů • Elementový obsah <!ELEMENT osoba (jmeno+, prijmeni)> • Znaková data <!ELEMENT odstavec (#PCDATA)> • Prázdný element <!ELEMENT cara EMPTY> • Libovolný obsah <!ELEMENT smeti ANY> • Smíšený obsah <!ELEMENT popis (#PCDATA|tucne|kurziva)*>

  17. Výhody a nevýhody DTD • Široce rozšířený, jednoduchý princip popisu obsahui struktury dokumentů • Nižší flexibilita popisu, těžkopádnost • Pouze minimálně podpora rozlišení různých datových typů • Další jazyky pro popis struktury XML • XML Schema • RELAX NG • Schematron • DSD

  18. Validní XML • Pokud dokument odpovídá určitému DTD (případně jinak popsané definici struktury), pak je validní (valid) • Každý validní dokument je dobře strukturovaný • Dobře strukturovaný dokument nemusí být validní • Pokud je dokument validní existuje k němu příslušný popis struktury (DTD, XML Schema, ...) • XML dokument nemusí být validní ani dobře strukturovaný (Je to ještě XML?) • Pomocí parseru lze zkontrolovat, zda dokument danému DTD vyhovuje (tzn. je validní).

  19. XML aplikace • Termín XML aplikace představuje konkrétní množinu značek a pravidel jejich použití • Existuje mnoho běžně používaných formátů dat založených na XML

  20. XML aplikace • CML (Chemical Markup Language) – popis chemických vzorců • DocBook • InkML • MathML (Mathematic Markup Language) • ODF (Open Document Format) • RSS (Rich Site Summary / RDF Site Summary) • SMIL (Synchronized Multimedia Integration Language) • SVG (Scalable Vector Graphic)

  21. XML aplikace • XForms • XHTML (Extensible HyperText Markup Language) – webové dokumenty, XML reformulace HTML • XSD (XML Schema Definition) • XSL (eXtensible Stylesheet Language) • XUL (XML User Interface Language) • VML (Vector Markup Language) • WML (Wireless Markup Language) • a další

  22. (X)HTML • eXtensible Hypertext Markup Language • Značkovací jazyk pro tvorbu hypertextových dokumentů v prostředí WWW vyvinutý konsorciem W3C • Účelem i významovým rozsahem se jedná o HTML 4.01, řídí se však syntaktickými pravidly XML • Původně se předpokládalo, že se stane nástupcem jazyka HTML, jehož vývoj byl verzí 4.01 ukončen • V roce 2007 však došlo k založení pracovní skupiny, která má za cíl vytvořit novou verzi HTML 5.0 (od 23. 4. 2008 v podobě Working Draft) • XHTML je stále paralelně vyvíjeno a nyní se pracuje na verzi 2.0

  23. MathML • Mathematical Markup Language • MathML je specifikace konsorcia W3C určená pro reprezentaci matematických výrazů na webu • Přímo nebo prostřednictvím pluginů je podporován ve většině moderních prohlížečů (MSIE 5, NN 6.2, Mozilla 0.9.9) • MathML je v porovnání se syntaxí TeXu objemnější, XML struktura ovšem dovoluje použití například v zobrazovacích zařízeních jako jsou webové prohlížeče nebo ulehčuje přímou interpretaci v matematických programech • Konverze mezi TeXem a MathML • itex2mml • MathML je také podporováno hlavními kancelářskými programy jako jsou Microsoft Word, OpenOffice.org

  24. MathML • http://www.w3.org/Math/XSL/csmall2.xml • http://cs.wikipedia.org/wiki/MathML

  25. SVG • SVG (Scalable Vector Graphics) je jazyk pro popis vektorové grafiky a animací • Specifikace SVG 1.0 pochází ze září 2001 • Přímá implementace v prohlížečích zatím chybí, k dispozici jsou ale příslušné pluginy

  26. SVG • http://www.croczilla.com/svg/samples/ • http://www.w3schools.com/svg/svg_examples.asp

  27. Stylové jazyk • Základní myšlenkou, na které staví většina značkovacích jazyků včetně XML a SGML, je důsledné oddělení obsahu dokumentu od jeho vzhledu • Můžeme si však odděleně vytvořit definici vzhledu jednotlivých elementů, které se říká styl • Stylové jazyky: • XSL – stylový jazyk navržený speciálně pro XML • DSSSL – stylový jazyk původně navržený pro SGML, umí však zpracovat i XML dokumenty • CSS (kaskádové styly) • FOSI – stylový jazyk používaný v některých komerčních aplikacích

  28. Proč vůbec používat styly? • XML umožňuje strukturovat data uložená v dokumentu, neříká nám však nic o jejich vzhledu • princip oddělení obsahu dokumentu od jeho vzhledu • potřeba převodu XML dokumentu do formátu vhodného pro vlastní prezentaci • můžeme vytvořit vlastní program pro zpracování dat v XML ... • použít modul nějakého programovacího jazyka • využijeme technologie XSL

  29. Proč vůbec používat styly? • připojení různých stylů k jednomu XML dokumentu • Výhoda při aktualizaci • Přizpůsobení různým koncovým zařízením (monitor, tisk, PDA, mobil, …)

  30. Proč vůbec používat styly? • připojení jednoho stylu k různým XML dokumentům • Dosažení jednotného vzhledu • Změna vzhledu úpravou jednoho stylu

  31. XSL • eXtensible Stylesheet Language • stylový jazyk speciálně vyvinutý pro XML • specifikace XSL je dílem konsorcia W3C • původně jedna specifikace, která zajišťovala jak transformaci dokumentů, tak i jejich formátování • později vymezeny 2 samostatné části, které spolu ale úzce souvisí: • transformační část: XSLT (Transformation) • formátovací část: XSL-FO (Formatting Objects) • definuje vizuální vlastnosti objektů a dokumentu – formátování výstupu • transformace do formátu PDF, PS

  32. Transformační část – XSLT • výkonný jazyk pro přímou manipulaci s obsahem dokumentů XML • pomocí XSLT lze jednoduchým způsobem transformovat vstupní XML dokument na rozličné výstupní formáty • umožňuje definovat transformaci XML dokumentu na jiný dokument XML s odlišnou strukturou a značkami • převod na další typy dokumentů: • HTML, XHTML • RTF • obyčejný textový soubor • kód v jazyku JavaScript • sekvence SQL příkazů • zdrojový kód pro TeX • dokumenty XSL-FO… • verze XSLT • XSLT 1.0 – doporučení (recommendation) • XSLT 2.0 – od 23. ledna 2007 také ve formě doporučení

  33. Realizace transformací • uvnitř klientského programu • transformace pomocí prohlížeče (nejlépe Mozilla FireFox) • styl se připojuje ke XML dokumentu pomocí instrukce <?xml-stylesheet?> uvedené za hlavičkou XML dokumentu <?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="styl.xsl"?> <knihovna> ... </knihovna> Pozn.: Internet Explorer je schopen provést transformaci pouze pokud je jako typ uveden text/xslmísto text/xml, který by tam měl správně být. FF zvládá obojí.

  34. Realizace transformací • pomocí procesoru jazyka XSLT • samostatný program, která dovede aplikovat styly na základní XML dokument a provést jeho transformaci • XT, Saxon, MSXML, Xalan • příklad transformace pomocí procesoru XT java -cp xt.jar com.jclark.xsl.sax.Driver kurz.xml kurz.xsl kurz.html zdrojový XML dokument XSL styl název cílového dokumentu

  35. DocBook • DocBook je dnes asi druhá nejpoužívanější aplikace SGML/XML, hned za jazykem HTML • DocBook vznikl v roce 1991 jako formát založený na SGML, určený především pro výměnu unixové dokumentace • Aktuální verze DocBooku nese číslo označení 4.5 a existuje ve dvou verzích pro SGML i pro XML • Samotný DocBook není nic jiného než DTD, které definuje jaké elementy a atributy můžeme v dokumentech používat • Volně k dispozici jsou XSL a DSSSL styly, které lze použít pro formátování dokumentů v DocBooku

  36. DocBook • DocBook obsahuje elementy, které umožňují členit dokumenty do kapitol, podkapitol, označovat názvy programů, obrázky, snímky, obrazovky, klávesové zkratky apod. • DocBook se vyvinul do podoby systému, který se hodí zejména pro tvorbu počítačové dokumentace, lze ho však použít pro zápis libovolných knih a článků • Dokumentace k mnoha programům je vytvářena v DocBooku (např. Linux a FreeBSD, ke skriptovacímu jazyku PHP) • DocBook používají i velká počítačové nakladatelství (O'Reilly) • Výhodou DocBooku je, že mnoho editorů a nástrojů pro práci s XML v sobě přímo zahrnuje jeho podporu

  37. DocBook • http://www.oasis-open.org/docbook/ • http://docbook.sourceforge.net • http://www.docbook.org

  38. SMIL • Synchronized Multimedia Integration Language • je určen pro tvorbu synchronizovaných multimediálních webových prezentací • Pomocí SMIL lze například vložit do prezentaces videozáznamem synchronizované titulky

  39. SMIL • http://www.w3schools.com/smil/ • http://www.w3schools.com/smil/tryit.asp?filename=trysmil_trans

  40. WML • Wireless Markup Language • značkovací jazyk umožňující tvorbu online dokumentů pro mobilní zařízení • Struktura WML dokumentu je podobná jako v HTML, XHTML apod. Má však určitá specifika, vycházející z jeho změření na mobilní přístroje, především a mimo jiné: • Nepodporuje barvy • Podporuje vnořené dokumenty (card) v jednom souboru • Definuje některé ovládací prvky koncového prohlížeče • Podporuje pouze černobílé obrázky ve formátu WBMP • Prohlížeči bývá vyžadována jeho striktní validita • Definice vstupních formulářů podporuje primitivní validace hodnot

  41. WML • http://www.w3schools.com/wap/wml_examples.asp

  42. Transformace XML do PDF • XSL-FO • Formátovací objekty • TeX • definujeme vlastní transformace na TeXovské příkazy v XSL stylu • PassiveTeX (procesor FO postavený nad TeXem) • TeXML • xmltex (parser XML v TeXu ) Základní přehled zde

  43. Kde se dozvíte více? • Stránky konsorcia W3C http://www.w3.org/ • www.google.com • www.wikipedia.com

  44. Kde se dozvíte více? • Volitelný předmět E-technologie • Garant: Ing. Roman Malo, Ph.D. • Vhodný pro neinformatiky • Volitelný předmět XML aplikace • Garant: Ing. Roman Malo, Ph.D. • Vhodný pro informatiky a odvážné neinformatiky 

  45. Dotazy? Děkuji za pozornost

More Related