xml a jeho aplikace
Download
Skip this Video
Download Presentation
XML a jeho aplikace

Loading in 2 Seconds...

play fullscreen
1 / 45

XML a jeho aplikace - PowerPoint PPT Presentation


  • 88 Views
  • Uploaded on

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)

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about ' XML a jeho aplikace' - dorie


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.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
xml a jeho aplikace

XMLa jeho aplikace

Magdalena Raszková

Ústav informatiky PEF MZLU v Brně

[email protected]

zna kovac jazyk
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
zna kovac jazyky
Značkovací jazyky
  • CSV
  • LaTeX
  • HTML
  • XML
  • a další
xml extensible markup language
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
trocha historie nikoho nazabije
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
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>

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)

logick struktura xml
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)
syntaktick pravidla jazyka xml
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)
syntaktick pravidla jazyka xml1
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
syntaktick pravidla jazyka xml2
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
syntaktick pravidla jazyka xml3
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;
xml hlavi ka
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
editace xml dokumentu
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ší
dtd document type definition
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">
deklarace a definice obsahu element
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)*>

v hody a nev hody dtd
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
validn xml
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í).
xml aplikace
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

http://www.w3.org/

xml aplikace1
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)
xml aplikace2
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ší
x html
(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/
mathml
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
mathml1
MathML
  • http://www.w3.org/Math/
  • http://www.w3.org/Math/XSL/csmall2.xml
  • http://cs.wikipedia.org/wiki/MathML
slide25
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

slide26
SVG
  • http://www.w3.org/Graphics/SVG/
  • http://www.croczilla.com/svg/samples/
  • http://www.w3schools.com/svg/svg_examples.asp
stylov jazyk
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
pro v bec pou vat styly
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
pro v bec pou vat styly1
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, …)
pro v bec pou vat styly2
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
slide31
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
transforma n st xslt
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í
realizace transformac
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í.

realizace transformac1
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

docbook
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
docbook1
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
docbook2
DocBook
  • http://docbook.cz/
  • http://www.oasis-open.org/docbook/
  • http://docbook.sourceforge.net
  • http://www.docbook.org
slide38
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
slide39
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/
slide40
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
slide41
WML
  • http://www.w3schools.com/wap/wml_examples.asp
transformace xml do pdf
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

kde se dozv te v ce
Kde se dozvíte více?
  • Stránky konsorcia W3C

http://www.w3.org/

  • www.google.com
  • www.wikipedia.com
kde se dozv te v ce1
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 

slide45
Dotazy?

Děkuji za pozornost

ad