Xml a jeho aplikace
This presentation is the property of its rightful owner.
Sponsored Links
1 / 45

XML a jeho aplikace PowerPoint PPT Presentation


  • 61 Views
  • Uploaded on
  • Presentation posted in: General

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)

Download Presentation

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


Xml a jeho aplikace

XML aplikace


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


    Xml a jeho aplikace

    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


    Xml a jeho aplikace

    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


    Xml a jeho aplikace

    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


    Xml a jeho aplikace

    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


    Xml a jeho aplikace

    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/


    Xml a jeho aplikace

    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


    Xml a jeho aplikace

    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 


  • Xml a jeho aplikace

    Dotazy?

    Děkuji za pozornost


  • Login