TNPW2-2011-09
Upcoming SlideShare
Loading in...5
×
 

TNPW2-2011-09

on

  • 1,249 views

 

Statistics

Views

Total Views
1,249
Views on SlideShare
1,142
Embed Views
107

Actions

Likes
0
Downloads
0
Comments
0

5 Embeds 107

http://tnpw2.blogspot.com 84
http://tnpw2.webnode.cz 16
http://www.slideshare.net 3
http://tnpw2.blogspot.cz 3
http://cms.tnpw2.webnode.cz 1

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

TNPW2-2011-09 TNPW2-2011-09 Presentation Transcript

  • TNPW2
    2009/2010
    09 – Technologie XML
    Mgr. Lukáš Vacek
    lukas.vacek@uhk.cz
  • Agenda9
    • Co je to XML?
    • Přednosti a nedostatky XML
    • Nejčastější použití XML
    • Základy syntaxe
    • Prohlížení a kontrola XML dokumentů
    • Vzhled XML dokumentů
    • DTD a XML schémata
    • Jmenné prostory, prefixy
    • Co je to XSL a XSLT?
    • Internet, doporučená literatura
    2
  • Co je XML? Vymezení proti HTML a XHTML
    HTML
    Definuje jednoduchý, pevně stanovený typ dokumentu.
    Množina používaných značek je navržena tak, aby vyhovovala požadavkům na běžné dokumenty – nadpisy, odstavce, seznamy, obrázky apod.
    HTML umožňuje použití hypertextu a multimedií.
    XML
    XML (eXtensibleMarkupLanguage) je rozšiřitelný značkovací jazyk.
    Umožňuje definici vlastních typů dokumentů a přesně označuje význam jejich jednotlivých částí, a ne jen jejich vzhled (jako HTML).
    Na rozdíl od jazyka HTML jde spíše o metajazyk.
    XHTML
    Je nástupcem HTML, používá XML syntaxi a má přísnější pravidla.
    Validní XHTML dokument je i validním XML dokumentem.
    3
  • SGML , XML x HTML (XHTML)
    Oba jazyky (HTML a XML) vycházejí z mezinárodního standardu SGML(norma ISO 8879, z roku 1986) pro popis struktury a obsahu různých druhů elektronických dokumentů.
    Značkovací jazyky vycházející ze SGML definují množinu značek (a jejich vzájemných vztahů) pomocí tzv. definic typu dokumentu (DTD).
    XML není nástupcem ani konkurentem HTML!
    XML dokumenty samy o sobě nejsou (pro běžného uživatele) dost dobře zobrazitelné, představují datovou základnu, ze které lze transformací vytvořit něco, co se dá prezentovat uživateli v podobě HTML, WML, PDF nebo jinak.
    http://www.w3.org/
    http://zvon.org/
    4
  • Mýty a předsudky o XML
    Nejrůznějších bludů o XML je rozšířena celá řada 
    • Je to moderní (revoluční) technologie, hodí se skoro na všechno(XML je spása, XML jako univerzální kráječ).
    • Musíme to použít, protože to používá konkurence!
    • Když použijeme XML, budou naše aplikace kvalitnější!
    • XML je jenom takové lepší HTML…
    • XML je hodně „upovídaný“ jazyk, má příliš svazující pravidla!
    • XML je pomalá a paměťově náročná technologie!
    5
    • Co je to XML?
    • Přednosti a nedostatky XML
    • Nejčastější použití XML
    • Základy syntaxe
    • Prohlížení a kontrola XML dokumentů
    • Vzhled XML dokumentů
    • DTD a XML schémata
    • Jmenné prostory, prefixy
    • Co je to XSL a XSLT?
    • Internet, doporučená literatura
    6
    Agenda
    9
  • Přednosti XML
    Standardní formát pro výměnu a sdílení strukturovaných informací.
    Je nezávislý na platformě.
    Mezinárodní podpora (i jiné jazyky než angličtina).
    Informační obsah (přesné určení toho, co která část dokumentu znamená).
    Snadná konverze do dalších formátů (pomocí stylových jazyků – CSS, XSL apod.) a pro různá cílová zařízení.
    Automatická kontrola struktury dokumentu (prohlížeč se klasické HTML vždy "pokusí" nějak interpretovat, XML ne)!
    Rozšiřuje možnosti relačních databází u složitě strukturovaných dat, která se nedají dost dobře uložit do tabulek.
    Přesné indexování a vyhledávání dokumentů a jejich částí.
    7
  • Nedostatky XML
    XML umí být „pěkně ukecaný“ formát, jako všechny značkovací jazyky 
    Je určen hlavně pro výměnu textových dat, pro binární data se příliš nehodí (i když se dá použít).
    XML standardy se neustále vyvíjejí.
    S XML dokumentem lze (zatím) pracovat jen jako s celkem.
    Poněkud problematické je indexování a prohledávání XML dokumentů – nic na způsob „domácího“ fulltextu zatím není u XML k dispozici.
    V porovnání s relačními databázemi
    poněkud složitější programování,
    menší rychlost
    problematická kontrola přístupových práv k jednotlivým částem XML dokumentu.
    8
    • Co je to XML?
    • Přednosti a nedostatky XML
    • Nejčastější použití XML
    • Základy syntaxe
    • Prohlížení a kontrola XML dokumentů
    • Vzhled XML dokumentů
    • DTD a XML schémata
    • Jmenné prostory, prefixy
    • Co je to XSL a XSLT?
    • Internet, doporučená literatura
    9
    Agenda9
  • Nejčastější použití XML
    Zveřejňování informací na webových stránkách (XHTML).
    Vytváření popisných metadat (RDF – Resource Description Format) o dokumentech, tzv. RSS (RDF/Rich Site Summary) kanály.
    Vzájemná komunikace (výměna dat) mezi různými informačními systémy –> hlavně webové služby.
    Elektronické publikování (knihy, manuály, vyhlášky) a následná správa dokumentů pomocí metadat.
    Uchovávání dat malého rozsahu nebo dat nerelačního charakteru.
    Konfiguračních data k aplikacím (.NET).
    Formáty založené na XML, např. vektorová grafika (SVG), matematické vzorce (MathML), chemická data (CML).
    10
    • Co je to XML?
    • Přednosti a nedostatky XML
    • Nejčastější použití XML
    • Základy syntaxe
    • Prohlížení a kontrola XML dokumentů
    • Vzhled XML dokumentů
    • DTD a XML schémata
    • Jmenné prostory, prefixy
    • Co je to XSL a XSLT?
    • Internet, doporučená literatura
    11
    Agenda9
  • XML elementy
    Základním stavebním prvkem XML dokumentu jsou elementy.
    Každý XML dokument musí být uzavřen v jednom XML elementu (root), obdobně jako se v HTML používá tag<html>.
    Všechny elementy jsou párové. Pokud je element prázdný, je možné jej zapsat ve zkrácené podobě <element />.
    Elementy je možno do sebe vnořovat, ale není možno je křížit.
    V názvech elementů a atributů se rozlišují velká a malá písmena. Jestliže v HTML znamenají prvky <TABLE> a <Table> totéž, v XML tomu tak není!
    Název elementu může obsahovat písmena, čísla, znaky „_“, „–“ a „.“, mezery nejsou povoleny, nesmí začínat řetězcem „xml“, dvojtečky „:“ jsou vymezeny pro použití v názvech jmenných prostorů.
    12
    <obsah>
    <mujElement>nějaký řetězec</mujElement>
    </obsah>
  • Kódování znaků
    Aby šlo v XML dokumentu bez problémů zapisovat znaky libovolného jazyka, používá se standardně kódování UTF-8.
    Je však možné použít i jiné kódování např. iso-8859-2 nebo windows-1250.
    Nastavení kódování XML dokumentu se provádí v XML deklaraci (vždy na 1. řádku každého XML dokumentu!):
    13
    <?xmlversion="1.0" encoding="windows-1250"?>
    • Pokud je použito kódování UTF-8, je možné v XML deklaraci nastavení kódování vynechat:
    <?xmlversion="1.0 ?>
  • Znakové entity
    Mezi počáteční a koncovou značkou XML elementu se nesmí používat znaky „<“ a „&“, nedoporučuje se používat znak „>“.
    Namísto těchto kolizních znaků se používají tzv. znakové entity.V XML jsou předdefinovány tyto znakové entity:< -> < & -> & > -> >“ -> "‘ -> '
    Doporučuji používat i v XHTML dokumentech!
    14
  • Atributy
    Atribut poskytuje dodatečnou (doplňující) informaci o elementu, je vždy součástí počáteční (otevírací) značky elementu.
    Elementy mohou obsahovat jeden nebo více atributů (na pořadí nezáleží).
    Jednotlivé atributy jsou ve značce odděleny mezerou (proto není mezera v názvu značky povolena).
    Názvy atributů se řídí stejnými pravidly jako názvy elementů.
    Všechny atributy musejí mít určenou hodnotu, která je uzavřena do uvozovek nebo apostrofů:
    15
    <element atribut1='hodnota1’ tribut2=“hodnota2“>obsah</element>
    <element2 atribut3=’a“BC“d’>obsah</element2>
  • Komentáře v XML
    Do zdrojového kódu XML dokumentů lze vkládat komentáře.
    Komentář je součástí dokumentu, ale je ignorován při jeho zpracování.
    Komentář může být kdekoliv ve zdrojovém kódu, ale nesmí být součástí nějaké značky!
    16
    <!– můj komentář -->
    <element <!– můj komentář -->>obsah</element> je chybně!
  • Instrukce pro zpracování
    Instrukce pro zpracování se vkládají do XML dokumentu v případě, že potřebujeme ovlivnit charakter jeho dalšího zpracování.
    17
    <?identifikátordata?>
    • Identifikátor určuje aplikaci nebo zařízení, pro které je instrukce určena.
    • Data jsou vlastní instrukce (příkazy) ve formátu odpovídajícímu uvedené aplikaci nebo zařízení.
    <?xml-stylesheethref="styl.css" type="text/css"?>
    ...
    <?php echo “výpis“ ?>
  • CDATA
    Když potřebujeme do XML dokumentu vložit větší kus textu se značkami (např. nějaké instrukce pro pozdější zpracování, CSS, JavaScript apod.), je vhodné použít sekci CDATA.
    18
    <script type="text/javascript"><![CDATA[for (i=0; i < 10; $++) {document.writeln("<p>Ahoj</p>"); }]]></script>
    • Co je to XML?
    • Přednosti a nedostatky XML
    • Nejčastější použití XML
    • Základy syntaxe
    • Prohlížení a kontrola XML dokumentů
    • Vzhled XML dokumentů
    • DTD a XML schémata
    • Jmenné prostory, prefixy
    • Co je to XSL a XSLT?
    • Internet, doporučená literatura
    19
    Agenda9
  • Prohlížení a kontrola XML dokumentů
    Prohlížení XML dokumentů je možné např. v prohlížeči s podporou XML (např. Internet Explorer, Mozilla Firefox apod.).
    Program, kterým se provádí kontrola a zpracování XML dokumentu, se jmenuje parser.
    Prohlížeče s podporou XML tento parser obsahují, jsou proto nejjednodušší cestou, jak dokument zobrazit a zároveň zkontrolovat.
    Bude-li XML dokument správně zformátován (wellformed), zobrazí jej. V opačném případě prohlížeč oznámí chybu!
    09-01-priklad.xml
    09-02-priklad-validace.html (pouze Internet Explorer! Používá ActiveX prvek)
    20
    • Co je to XML?
    • Přednosti a nedostatky XML
    • Nejčastější použití XML
    • Základy syntaxe
    • Prohlížení a kontrola XML dokumentů
    • Vzhled XML dokumentů
    • DTD a XML schémata
    • Jmenné prostory, prefixy
    • Co je to XSL a XSLT?
    • Internet, doporučená literatura
    21
    Agenda9
  • Vzhled XML dokumentů
    XML odděluje informační obsah dokumentu od definice grafického vzhledu – neurčuje, jakým způsobem se má obsah jednotlivých značek (elementů) zobrazovat.
    K tomu se používají stylové jazyky:
    CSS (Cascading Style Sheet)
    XSL (eXtensibleStylesheetLanguage).
    CSS je jednodušší a není vytvořen podle pravidel XML (na rozdíl od XSL), používá svá vlastní pravidla.
    22
  • XML a CSS
    Připojení CSS k dokumentu XML:
    23
    <?xml-stylesheethref="styl.css" type="text/css"?>
    • Pozor! V CSS pro XML se rozlišuje velikost písmen v názvech selektorů.
    • Vlastnost display (block, inline, list-item, none) určuje způsob zobrazení obsahu elementu v prohlížeči.
    • Neurčíme-li v CSS jinak, je výchozí zobrazení elementu nastaveno na display: inline.
    09-03-priklad.xml
    • Co je to XML?
    • Přednosti a nedostatky XML
    • Nejčastější použití XML
    • Základy syntaxe
    • Prohlížení a kontrola XML dokumentů
    • Vzhled XML dokumentů
    • DTD a XML schémata
    • Jmenné prostory, prefixy
    • Co je to XSL a XSLT?
    • Internet, doporučená literatura
    24
    Agenda9
  • DTD a XML schémata – I.
    DTD (Document Type Definition) a XML schémata jsou formální sady pravidel, které jsou určeny pro lepší kontrolu nad obsahem XML dokumentu.
    Vymezují množinu elementů a atributů, které mohou být v dokumentu použity, včetně jejich obsahu a vzájemných vazeb (způsobů vnořování).
    Pokud XML dokument obsahuje odkaz na strukturu, kterou má dodržovat, je možné kromě správné strukturovanosti (well formed)kontrolovat také její validitu.
    Použití DTD a XML schémat má význam při výměně informací mezi informačními systémy, umožňuje jednoznačnou interpretaci elementů.
    Každé XML schéma je zároveň XML dokumentem, DTD používá vlastní formát.
    Existují i další varianty pravidel pro XML, např. RELAX NG (Wikipedia).
    25
  • DTD a XML schémata – II.
    DTD je starší, jednodušší (a díky tomu i více rozšířené).
    XML schémata sice vznikla později, ale jsou zase mnohem komplexnější (řeší některé nedostatky DTD, např. datové typy).
    Vazba XML dokumentu na XML schéma je složitější, než je tomu v případě DTD.
    DTD soubory používají příponu *.dtd, XML schémata *.xsd.
    Příklad použití XML souboru s DTD:09-04-priklad.xml
    Příklad použití XML souboru s XML schématem:http://www.kosek.cz/xml/schema/index.html
    26
  • Příklady nejběžnějších DTD
    Hypertext Markup Language (HTML)
    Channel Definition Format (CDF)
    Mathematical Markup Language (MathML)
    Resource Description Framework (RDF)
    Chemical Markup Language (CML)
    Precision Graphics Markup Language (PGML)
    UML eXchange Format (UXF)
    DocBook (publikování)
    Scalable Vector Graphics (SVG)
    27
    • Co je to XML?
    • Přednosti a nedostatky XML
    • Nejčastější použití XML
    • Základy syntaxe
    • Prohlížení a kontrola XML dokumentů
    • Vzhled XML dokumentů
    • DTD a XML schémata
    • Jmenné prostory, prefixy
    • Co je to XSL a XSLT?
    • Internet, doporučená literatura
    28
    Agenda9
  • Jmenné prostory
    V XML dokumentech od různých autorů může nastat situace, kdy budou v jednotlivých dokumentech použity stejně pojmenované elementy, ale s různým významem!
    Pomocí jmenných prostorů tomu lze předejít a odlišit elementy jednoho autora od elementů jiného autora.
    Označení jmenného prostoru je vizuálně podobné URL adrese.
    29
    http://doména/volitelná_informace_o_prostoru/popis_prostoru/verze
    Příklad:
    http://www.mojedomena.cz/alfa/dopisy/1.0
    • Někdy se místo označení URL (Uniform Resource Locator) používá zkratka URN (Uniform Resource Name). 1URN = 1-n URL.
  • Deklarace jmenných prostorů, prefixy
    Jmenný prostor je možné deklarovat v libovolném elementu.
    30
    <dopis xmlns=“identifikace jmenného prostoru“> ...</dopis>
    • Jmenný prostor se vztahuje na element, ve kterém je deklarován a na všechny jeho potomky.
    • V případě, že chceme v elementu (a v jeho potomcích) použít více jmenných prostorů, lze používat prefixy.
    <mujelementxmlns=“identifikace prostoru“xmlns:bib=“http://www.book.org/bibliography“>
    <test1>obsah</test1>
    <bib:test2>obsah2</test2>
    <test3>obsah2<test3>
    </mujelement>
    • Co je to XML?
    • Přednosti a nedostatky XML
    • Nejčastější použití XML
    • Základy syntaxe
    • Prohlížení a kontrola XML dokumentů
    • Vzhled XML dokumentů
    • DTD a XML schémata
    • Jmenné prostory, prefixy
    • Co je to XSL a XSLT?
    • Internet, doporučená literatura
    31
    Agenda9
  • Co je XSL a XSLT?
    XML dokumenty samy o sobě nejsou dost dobře zobrazitelné, představují datovou základnu, se kterou je možné dále pracovat.
    Jednou z možností je tzv. XSL (eXtensibleStylesheet Language) transformace dat uložených v XML dokumentu do požadovaného formátu, např. HTML, RTF, PDF nebo jinak.
    XSL transformace se provádí prostřednictvím jazyka XSLT (eXtensibleStylesheet Language Transformations).
    XSL má dvě části:
    XSLT,
    XSL-FO (formátovací objekty typu XSL).
    32
  • Použití XSL a XSLT
    XSL používá jazyk XML a je tedy sám XML dokumentem.
    XSL dokumenty mají příponu *.xsl.
    Každý XSL dokument
    Vždy obsahuje řídící příkazy XSLT procesoru,
    Může obsahovat data (elementy, text), která se použijí při sestavování výsledného výstupu (dokumentu).
    Řídící příkazy XSLT procesoru náleží jmennému prostoru http://www.w3.org/1999/XSL/Transform, podle kterého XSLT procesor pozná, že má element zpracovat.
    Pro vyhledávání jednotlivých prvků XML dokumentu, které vyhovují zadaným podmínkám, se používá dotazovací jazyk XPath (XPath je pro XML totéž, co SQL pro relační databáze ).
    09-05-priklad.xml
    33
    • Co je to XML?
    • Přednosti a nedostatky XML
    • Nejčastější použití XML
    • Základy syntaxe
    • Prohlížení a kontrola XML dokumentů
    • Vzhled XML dokumentů
    • DTD a XML schémata
    • Jmenné prostory, prefixy
    • Co je to XSL a XSLT?
    • Internet, doporučená literatura
    34
    Agenda9
  • Odkazy na Internetu
    http://www.zvon.org
    http://www.w3.org/
    http://www.kosek.cz/xml/index.html
    http://www.docbook.cz
    http://en.wikipedia.org/wiki/Document_Type_Definition
    http://en.wikipedia.org/wiki/XML_Schema_(W3C)
    http://en.wikipedia.org/wiki/RELAX_NG
    35
  • Doporučená literatura
    Bráza, Jiří – XML Praktické příklady, Grada 2003
    Žák, Miroslav – XML Začínáme programovat, Grada 2003
    Esposito, Dino – XML Efektivní programování pro .NET, Grada 2004
    Herout, Pavel – Java a XML pro Javu 5 i 6, Kopp 2007
    36
    • Co je to XML?
    • Přednosti a nedostatky XML
    • Nejčastější použití XML
    • Základy syntaxe
    • Prohlížení a kontrola XML dokumentů
    • Vzhled XML dokumentů
    • DTD a XML schémata
    • Jmenné prostory, prefixy
    • Co je to XSL a XSLT?
    • Internet, doporučená literatura
    37
    Souhrn9