Prezentace se nahrává, počkejte prosím

Prezentace se nahrává, počkejte prosím

Ústav informatiky PEF MZLU v Brně

Podobné prezentace


Prezentace na téma: "Ústav informatiky PEF MZLU v Brně"— Transkript prezentace:

1 Ústav informatiky PEF MZLU v Brně
XML a jeho aplikace Magdalena Raszková Ústav informatiky PEF MZLU v Brně

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 Schéma a obsah XML elementu
<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) 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>

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 flexibilita a 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 < znak > nahrazuje entita > znak & nahrazuje entita & znak " nahrazuje entita " 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 " 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 obsahu i 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 Většina XML aplikací vznikla pod záštitou konsorciem W3C

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 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/ http://www.w3.org/Math/XSL/csmall2.xml

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

26 SVG http://www.w3.org/Graphics/SVG/

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 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/xsl mí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 DocBooku s označením V4.5 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 DocBooku s označením V5.0 je reimplementací DocBooku ve formátu RELAX NG

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://docbook.cz/ http://www.oasis-open.org/docbook/

38 SMIL Synchronized Multimedia Integration Language
SMIL [čti smajl] je určen pro tvorbu synchronizovaných multimediálních webových prezentací Pomocí SMIL lze například vložit do prezentace s videozáznamem synchronizované titulky

39 SMIL http://www.w3.org/AudioVideo/ http://www.w3schools.com/smil/

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

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/

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

45 Dotazy? Děkuji za pozornost


Stáhnout ppt "Ústav informatiky PEF MZLU v Brně"

Podobné prezentace


Reklamy Google