45
1 XML a jeho aplikace Magdalena Raszková Ústav informatiky PEF MZLU v Brně [email protected]

XML a jeho aplikace

  • Upload
    dorie

  • View
    36

  • Download
    0

Embed Size (px)

DESCRIPTION

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) - PowerPoint PPT Presentation

Citation preview

Page 1: XML a jeho aplikace

1

XMLa jeho aplikace

Magdalena RaszkováÚstav informatiky PEF MZLU v

Brně[email protected]

Page 2: XML a jeho aplikace

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

Page 3: XML a jeho aplikace

3

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

Page 4: XML a jeho aplikace

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

Page 5: XML a jeho aplikace

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

Page 6: XML a jeho aplikace

XML aplikace

GML

SGML

HTML XML

XHTML XSL

ebXML …

Page 7: XML a jeho aplikace

7

Schéma a obsah XML elementu

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>

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

Element

Page 8: XML a jeho aplikace

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)

Page 9: XML a jeho aplikace

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)

Page 10: XML a jeho aplikace

10

Syntaktická pravidla jazyka XML 1. XML dokument obsahuje alespoň jeden

element může být i prázdný

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

Page 11: XML a jeho aplikace

11

Syntaktická pravidla jazyka XML 3. XML dokument obsahuje kořenový

element element na nejvyšší úrovni „obal“ všech ostatních elementů

4. XML je case-sensitive rozlišujeme malá a velká písmena v názvech

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

Page 12: XML a jeho aplikace

12

Syntaktická pravidla jazyka XML 6. 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é atributy7. 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;

Page 13: XML a jeho aplikace

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

Page 14: XML a jeho aplikace

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ší

Page 15: XML a jeho aplikace

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

Page 16: XML a jeho aplikace

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)*>

Page 17: XML a jeho aplikace

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

Page 18: XML a jeho aplikace

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

Page 19: XML a jeho aplikace

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 W3Chttp://www.w3.org/

Page 20: XML a jeho aplikace

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)

Page 21: XML a jeho aplikace

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ší

Page 22: XML a jeho aplikace

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 http://www.w3.org/TR/xhtml2/

Page 23: XML a jeho aplikace

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

Page 25: XML a jeho aplikace

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

Page 27: XML a jeho aplikace

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

Page 28: XML a jeho aplikace

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í prezentaci1. můžeme vytvořit vlastní program pro

zpracování dat v XML ...2. použít modul nějakého programovacího

jazyka3. využijeme technologie XSL

Page 29: XML a jeho aplikace

29

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, …)

Proč vůbec používat styly?

Page 30: XML a jeho aplikace

30

připojení jednoho stylu k různým XML dokumentům

Dosažení jednotného vzhledu Změna vzhledu úpravou jednoho stylu

Proč vůbec používat styly?

Page 31: XML a jeho aplikace

31

XSL eXtensible Stylesheet Language stylový jazyk speciálně vyvinutý pro XML

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

Page 32: XML a jeho aplikace

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í

Page 33: XML a jeho aplikace

33

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>

Realizace transformací

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

Page 34: XML a jeho aplikace

34

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

Realizace transformací

zdrojový XML dokument XSL styl název cílového dokumentu

Page 35: XML a jeho aplikace

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

Page 36: XML a jeho aplikace

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

Page 37: XML a jeho aplikace

37

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

Page 38: XML a jeho aplikace

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 prezentaces videozáznamem synchronizované titulky

Page 39: XML a jeho aplikace

39

SMIL http://www.w3.org/AudioVideo/ http://www.w3schools.com/smil/ http://www.w3schools.com/smil/tryit.asp?

filename=trysmil_parallel http://www.w3schools.com/smil/tryit.asp?

filename=trysmil_trans

http://interval.cz/serialy/synchronized-multimedia-integration-language/

Page 40: XML a jeho aplikace

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

Page 41: XML a jeho aplikace

41

WML http://www.w3schools.com/wap/

wml_examples.asp

Page 42: XML a jeho aplikace

42

Transformace XML do PDF XSL-FO

Formátovací objekty TeX

1. definujeme vlastní transformace na TeXovské příkazy v XSL stylu

2. PassiveTeX (procesor FO postavený nad TeXem)

3. TeXML4. xmltex (parser XML v TeXu )Základní přehled zde

Page 44: XML a jeho aplikace

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

Page 45: XML a jeho aplikace

45

Dotazy?

Děkuji za pozornost