SlideShare a Scribd company logo
1 of 37
TNPW2 2010/2011 09 – Technologie XML Mgr. Lukáš Vacek lukas.vacek@uhk.cz
Agenda9 ,[object Object]
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á literatura2
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 integraci 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  ,[object Object]
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
[object Object]
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á literatura6 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,  nehodí se pro binární data velké objemy dat – pro tzv. datové pumpy použijte nějaký ETL tool 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
[object Object]
Přednosti a nedostatky XML
Nejčastější použití XML
Základy syntaxe
Prohlížení a kontrola XML dokumentů
Vzhled XML dokumentů

More Related Content

Similar to TNPW2-2011-09

Ondra Kučera: Otevřený web a jeho současný stav
Ondra Kučera: Otevřený web a jeho současný stavOndra Kučera: Otevřený web a jeho současný stav
Ondra Kučera: Otevřený web a jeho současný stav
Tomáš Holas
 
Xm lfunctionality inpostgresql
Xm lfunctionality inpostgresqlXm lfunctionality inpostgresql
Xm lfunctionality inpostgresql
killteck
 
Metadata a metadatové formáty používané v knihovnách
Metadata a metadatové formáty používané v knihovnáchMetadata a metadatové formáty používané v knihovnách
Metadata a metadatové formáty používané v knihovnách
pavluskas
 
Semantický web a Drupal
Semantický web a Drupal Semantický web a Drupal
Semantický web a Drupal
devmates
 
06 prez4(tvorba webu)
06 prez4(tvorba webu)06 prez4(tvorba webu)
06 prez4(tvorba webu)
olc_user
 
Javascript na steroidech
Javascript na steroidechJavascript na steroidech
Javascript na steroidech
seznamVyvojari
 

Similar to TNPW2-2011-09 (15)

Ondra Kučera: Otevřený web a jeho současný stav
Ondra Kučera: Otevřený web a jeho současný stavOndra Kučera: Otevřený web a jeho současný stav
Ondra Kučera: Otevřený web a jeho současný stav
 
Prg13 Html
Prg13 HtmlPrg13 Html
Prg13 Html
 
XHTML
XHTMLXHTML
XHTML
 
Vytváření Www Prezentací
Vytváření Www PrezentacíVytváření Www Prezentací
Vytváření Www Prezentací
 
Metadata a metadatové standardy užívané v knihovnách
Metadata a metadatové standardy užívané v knihovnáchMetadata a metadatové standardy užívané v knihovnách
Metadata a metadatové standardy užívané v knihovnách
 
Xm lfunctionality inpostgresql
Xm lfunctionality inpostgresqlXm lfunctionality inpostgresql
Xm lfunctionality inpostgresql
 
Moderni technologie
Moderni technologieModerni technologie
Moderni technologie
 
Czjug Zari 2008
Czjug Zari 2008Czjug Zari 2008
Czjug Zari 2008
 
Ontologie
OntologieOntologie
Ontologie
 
Správa podnikového obsahu - Oracle UCM
Správa podnikového obsahu - Oracle UCMSpráva podnikového obsahu - Oracle UCM
Správa podnikového obsahu - Oracle UCM
 
Metadata a metadatové formáty používané v knihovnách
Metadata a metadatové formáty používané v knihovnáchMetadata a metadatové formáty používané v knihovnách
Metadata a metadatové formáty používané v knihovnách
 
Webové technologie
Webové technologieWebové technologie
Webové technologie
 
Semantický web a Drupal
Semantický web a Drupal Semantický web a Drupal
Semantický web a Drupal
 
06 prez4(tvorba webu)
06 prez4(tvorba webu)06 prez4(tvorba webu)
06 prez4(tvorba webu)
 
Javascript na steroidech
Javascript na steroidechJavascript na steroidech
Javascript na steroidech
 

More from Lukáš Vacek

More from Lukáš Vacek (20)

TNPW2-2016-06
TNPW2-2016-06TNPW2-2016-06
TNPW2-2016-06
 
TNPW2-2016-05
TNPW2-2016-05TNPW2-2016-05
TNPW2-2016-05
 
TNPW2-2016-04
TNPW2-2016-04TNPW2-2016-04
TNPW2-2016-04
 
TNPW2-2016-03
TNPW2-2016-03TNPW2-2016-03
TNPW2-2016-03
 
TNPW2-2016-02
TNPW2-2016-02TNPW2-2016-02
TNPW2-2016-02
 
TNPW2-2016-01
TNPW2-2016-01TNPW2-2016-01
TNPW2-2016-01
 
TNPW2-2014-01
TNPW2-2014-01TNPW2-2014-01
TNPW2-2014-01
 
TNPW2-2014-06
TNPW2-2014-06TNPW2-2014-06
TNPW2-2014-06
 
TNPW2-2014-05
TNPW2-2014-05TNPW2-2014-05
TNPW2-2014-05
 
TNPW2-2014-04
TNPW2-2014-04TNPW2-2014-04
TNPW2-2014-04
 
TNPW2-2014-03
TNPW2-2014-03TNPW2-2014-03
TNPW2-2014-03
 
TNPW2-2014-02
TNPW2-2014-02TNPW2-2014-02
TNPW2-2014-02
 
TNPW2-2013-09
TNPW2-2013-09TNPW2-2013-09
TNPW2-2013-09
 
TNPW2-2013-08
TNPW2-2013-08TNPW2-2013-08
TNPW2-2013-08
 
TNPW2-2013-07
TNPW2-2013-07TNPW2-2013-07
TNPW2-2013-07
 
TNPW2-2013-06
TNPW2-2013-06TNPW2-2013-06
TNPW2-2013-06
 
TNPW2-2013-05
TNPW2-2013-05TNPW2-2013-05
TNPW2-2013-05
 
TNPW2-2013-04
TNPW2-2013-04TNPW2-2013-04
TNPW2-2013-04
 
TNPW2-2013-03
TNPW2-2013-03TNPW2-2013-03
TNPW2-2013-03
 
TNPW2-2013-02
TNPW2-2013-02TNPW2-2013-02
TNPW2-2013-02
 

TNPW2-2011-09

  • 1. TNPW2 2010/2011 09 – Technologie XML Mgr. Lukáš Vacek lukas.vacek@uhk.cz
  • 2.
  • 6. Prohlížení a kontrola XML dokumentů
  • 8. DTD a XML schémata
  • 10. Co je to XSL a XSLT?
  • 12. 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 integraci 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
  • 13. 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
  • 14.
  • 15. Musíme to použít, protože to používá konkurence!
  • 16. Když použijeme XML, budou naše aplikace kvalitnější!
  • 17. XML je jenom takové lepší HTML…
  • 18. XML je hodně „upovídaný“ jazyk, má příliš svazující pravidla!
  • 19. XML je pomalá a paměťově náročná technologie!5
  • 20.
  • 24. Prohlížení a kontrola XML dokumentů
  • 26. DTD a XML schémata
  • 28. Co je to XSL a XSLT?
  • 30. 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
  • 31. 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, nehodí se pro binární data velké objemy dat – pro tzv. datové pumpy použijte nějaký ETL tool 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
  • 32.
  • 36. Prohlížení a kontrola XML dokumentů
  • 38. DTD a XML schémata
  • 40. Co je to XSL a XSLT?
  • 42. 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, Java Spring) Formáty založené na XML, např. vektorová grafika (SVG), matematické vzorce (MathML), chemická data (CML) 10
  • 43.
  • 47. Prohlížení a kontrola XML dokumentů
  • 49. DTD a XML schémata
  • 51. Co je to XSL a XSLT?
  • 53. 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>
  • 54.
  • 55. 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:< -> &lt; & -> &amp; > -> &gt;“ -> &quot;‘ -> &apos; Doporučuji používat i v XHTML dokumentech! http://www.aspnet.cz/Articles/205-jak-na-html-entity-v-xml-dokumentech.aspx 14
  • 56. 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>
  • 57. 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ě!
  • 58.
  • 59. 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“ ?>
  • 60. 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>
  • 61.
  • 65. Prohlížení a kontrola XML dokumentů
  • 67. DTD a XML schémata
  • 69. Co je to XSL a XSLT?
  • 71. 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
  • 72.
  • 76. Prohlížení a kontrola XML dokumentů
  • 78. DTD a XML schémata
  • 80. Co je to XSL a XSLT?
  • 82. 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
  • 83.
  • 84. Vlastnost display (block, inline, list-item, none) určuje způsob zobrazení obsahu elementu v prohlížeči
  • 85. Neurčíme-li v CSS jinak, je výchozí zobrazení elementu nastaveno na display: inline09-03-priklad.xml
  • 86.
  • 90. Prohlížení a kontrola XML dokumentů
  • 92. DTD a XML schémata
  • 94. Co je to XSL a XSLT?
  • 96. 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
  • 97. 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
  • 98. 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
  • 99.
  • 103. Prohlížení a kontrola XML dokumentů
  • 105. DTD a XML schémata
  • 107. Co je to XSL a XSLT?
  • 109.
  • 110. 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>
  • 111.
  • 115. Prohlížení a kontrola XML dokumentů
  • 117. DTD a XML schémata
  • 119. Co je to XSL a XSLT?
  • 121. 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
  • 122. 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
  • 123.
  • 127. Prohlížení a kontrola XML dokumentů
  • 129. DTD a XML schémata
  • 131. Co je to XSL a XSLT?
  • 133. 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
  • 134. 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
  • 135.
  • 139. Prohlížení a kontrola XML dokumentů
  • 141. DTD a XML schémata
  • 143. Co je to XSL a XSLT?