SlideShare ist ein Scribd-Unternehmen logo
1 von 39
TNPW2
2012/2013
10 – Technologie XML


Mgr. Lukáš Vacek
lukas.vacek@uhk.cz
2




Agenda
         •   Co je to XML?
         •   Přednosti a nedostatky XML



10       •
         •
         •
         •
         •
         •
             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
3

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 (eXtensible Markup Language) 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!
4

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/
5

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!
6




Agenda
          Co je to XML?
         • Přednosti a nedostatky XML



10       • 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
7

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

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
  ▫   je třeba řešit i zálohování souborů uložených mimo DB…
9




Agenda
          Co je to XML?
          Přednosti a nedostatky XML



10       • 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
10

Nejčastější použití XML

• Zveřejňování informací na webových stránkách (XHTML)
• Vytváření popisných metadat (RDF – W3C standard, jde model) o dokumentech
  (např. OpenURL, Dublin Core, RSS/atom kanály apod.)
• 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)

• Doporučení: Při implementaci XML v aplikaci využívejte existující standardy
  a knihovny. Nevynalézejte znovu kolo!
11

Kdy XML není dobrou volbou?

• Velké množství přenášených dat
  ▫ Velmi intenzivní komunikace >> vlastní data tvoří pouze zlomek celkové velikosti,
    limitujícím faktorem může být i přenosová cesta
      příklad: nativní aplikace v mobilním telefonu, komunikující se serverem
      alternativy: JSON, REST
  ▫ Přenos velkých (strukturovaných) dat >> problémem je jednak velikost dat, jednak
    "náklady" na serializaci/parsing
      příklad: datové pumpy (přenos velkých dat z A -> B), datová replikace většího množství dat
       v reálném čase (i mezi více systémy)
      alternativy: ETL nástroje, flat-file
• Nepodporovaný typ rozhraní >> nativní podpora neexistuje nebo je velmi
  omezena na dané platformě
  ▫ příklad: velké firmy, jejichž ICT infrastruktura vznikala v průběhu 70-80. let nebo i
    dříve, stále používají main-frame/mid-range servery
  ▫ alternativa: proprietární/průmyslové formáty jako COPYBOOK, SWIFT nebo flat-file
• Low-level programování, kde je kladen důraz na výkon
  ▫ příklad: telefonní ústředny, ATMs (bankomaty) nebo platební terminály
  ▫ alternativa: flat-file
12




Agenda
          Co je to XML?
          Přednosti a nedostatky XML



10        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
13

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ů

<obsah>
  <mujElement>nějaký řetězec</mujElement>
</obsah>
14

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!):
<?xml version="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:
<?xml version="1.0 ?>
15

Mime type v XHTML

• Mime typ je textová informace v hlavičce zprávy, která popisuje, jaká data
  budou následovat.
• Je složena ze dvou částí: Označení typu dat/Konkretizace dat.
• Podle mime typu se určuje, jaký parser v prohlížeči (HTML vs XML) bude
  zdrojový kód zpracovávat.
HTML:
<meta http-equiv="content-type" content="text/html;...
XHTML:
<meta http-equiv="content-type" content="application/xhtml+xml;...


• Až do verze IE9 neuměl MS prohlížeč správně zpracovat mime typ pro XHTML!
• Problém částečně řeší HTML5.

• http://dero.name/weblog/xhtml-mime/
• http://zdrojak.root.cz/clanky/polyglot-aneb-webovym-koderem-pod-oboji/
• http://zdrojak.root.cz/clanky/xhtml-je-mrtve-at-zije-html5-nebo-ne/
16

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
17

Atributy

• Atribut poskytuje dodatečnou (doplňující) informaci o elementu, pokud je
  použit, 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ů:
<element atribut1='hodnota1’ tribut2=“hodnota2“>obsah</element>
<element2 atribut3=’a“BC“d’>obsah</element2>
18

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!
<!– můj komentář -->

<element <!– můj komentář -->>obsah</element> je chybně!
19

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í
<?identifikátor data?>

• 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-stylesheet href="styl.css" type="text/css"?>
...
<?php echo “výpis“ ?>
20

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
<script type="text/javascript">
<![CDATA[
  for (i=0; i < 10; $++)
  {
    document.writeln("<p>Ahoj</p>");
  }
]]>
</script>
21




Agenda
          Co je to XML?
          Přednosti a nedostatky XML



10        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
22

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 (well formed), zobrazí jej.
  V opačném případě prohlížeč oznámí chybu!

10-01-priklad.xml
10-02-priklad-validace.html (pouze Internet Explorer! Používá ActiveX prvek)
23




Agenda
          Co je to XML?
          Přednosti a nedostatky XML



10        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

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 (eXtensible Stylesheet Language)

• CSS je jednodušší a není vytvořen podle pravidel XML (na rozdíl od XSL), používá
  svá vlastní pravidla!
25

XML a CSS

• Připojení CSS k dokumentu XML:
<?xml-stylesheet href="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

10-03-priklad.xml
26




Agenda
          Co je to XML?
          Přednosti a nedostatky XML



10        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
27

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

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:
  10-04-priklad.xml

• Příklad použití XML souboru s XML schématem:
  http://www.kosek.cz/xml/schema/index.html
29

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




Agenda
          Co je to XML?
          Přednosti a nedostatky XML



10        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

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

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
32

Deklarace jmenných prostorů, prefixy

• Jmenný prostor je možné deklarovat v libovolném elementu
<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

<mujelement xmlns=“identifikace prostoru“
            xmlns:bib=“http://www.book.org/bibliography“>
  <test1>obsah</test1>
  <bib:test2>obsah2</test2>
  <test3>obsah2<test3>
</mujelement>
33




Agenda
          Co je to XML?
          Přednosti a nedostatky XML



10        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

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 (eXtensible Stylesheet 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 (eXtensible Stylesheet
  Language Transformations)

• XSL má dvě části:
  ▫ XSLT,
  ▫ XSL-FO (formátovací objekty typu XSL).
35

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

10-05-priklad.xml
36




Agenda
          Co je to XML?
          Přednosti a nedostatky XML



10        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

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
•   http://zdrojak.root.cz/clanky/polyglot-aneb-webovym-koderem-pod-oboji/
38

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
39




Agenda
          Co je to XML?
          Přednosti a nedostatky XML



10        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

Weitere ähnliche Inhalte

Ähnlich wie TNPW2-2013-10

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áchMoravskaZemskaKnihovna
 
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ý stavTomáš Holas
 
Borek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro webBorek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro webDevelcz
 
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áchpavluskas
 
Jak na responzivní mailing
Jak na responzivní mailingJak na responzivní mailing
Jak na responzivní mailingAdaptic, s.r.o.
 
Vytváření Www Prezentací
Vytváření Www PrezentacíVytváření Www Prezentací
Vytváření Www Prezentacíguest67fc62
 
Xm lfunctionality inpostgresql
Xm lfunctionality inpostgresqlXm lfunctionality inpostgresql
Xm lfunctionality inpostgresqlkillteck
 
Xm lfunctionality inpostgresql
Xm lfunctionality inpostgresqlXm lfunctionality inpostgresql
Xm lfunctionality inpostgresqlkillteck
 
Závěrečný úkol KPI
Závěrečný  úkol KPIZávěrečný  úkol KPI
Závěrečný úkol KPIJan Lysý
 
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
 
Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...
Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...
Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...LTP-portal-cz
 

Ähnlich wie TNPW2-2013-10 (20)

Webové technologie
Webové technologieWebové technologie
Webové technologie
 
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
 
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
 
Borek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro webBorek Bernard: TypeScript - příčetný jazyk pro web
Borek Bernard: TypeScript - příčetný jazyk pro web
 
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
 
Jak na responzivní mailing
Jak na responzivní mailingJak na responzivní mailing
Jak na responzivní mailing
 
Moderni technologie
Moderni technologieModerni technologie
Moderni technologie
 
TNPW2-2016-05
TNPW2-2016-05TNPW2-2016-05
TNPW2-2016-05
 
Úvod do XAML
Úvod do XAMLÚvod do XAML
Úvod do XAML
 
Vytváření Www Prezentací
Vytváření Www PrezentacíVytváření Www Prezentací
Vytváření Www Prezentací
 
Xm lfunctionality inpostgresql
Xm lfunctionality inpostgresqlXm lfunctionality inpostgresql
Xm lfunctionality inpostgresql
 
Xm lfunctionality inpostgresql
Xm lfunctionality inpostgresqlXm lfunctionality inpostgresql
Xm lfunctionality inpostgresql
 
TNPW2-2014-05
TNPW2-2014-05TNPW2-2014-05
TNPW2-2014-05
 
Ontologie
OntologieOntologie
Ontologie
 
TNPW2-2013-07
TNPW2-2013-07TNPW2-2013-07
TNPW2-2013-07
 
TNPW2-2012-02
TNPW2-2012-02TNPW2-2012-02
TNPW2-2012-02
 
Závěrečný úkol KPI
Závěrečný  úkol KPIZávěrečný  úkol KPI
Závěrečný úkol KPI
 
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)
 
Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...
Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...
Šárka Hálečková a Tomáš Burda - Řešení pro dlouhodobou archivaci v Národní kn...
 

Mehr von Lukáš Vacek (20)

TNPW2-2016-07
TNPW2-2016-07TNPW2-2016-07
TNPW2-2016-07
 
TNPW2-2016-06
TNPW2-2016-06TNPW2-2016-06
TNPW2-2016-06
 
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-04
TNPW2-2014-04TNPW2-2014-04
TNPW2-2014-04
 
TNPW2-2013-09
TNPW2-2013-09TNPW2-2013-09
TNPW2-2013-09
 
TNPW2-2013-08
TNPW2-2013-08TNPW2-2013-08
TNPW2-2013-08
 
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-01
TNPW2-2013-01TNPW2-2013-01
TNPW2-2013-01
 
TNPW2-2012-10
TNPW2-2012-10TNPW2-2012-10
TNPW2-2012-10
 
TNPW2-2012-08
TNPW2-2012-08TNPW2-2012-08
TNPW2-2012-08
 
TNPW2-2012-07
TNPW2-2012-07TNPW2-2012-07
TNPW2-2012-07
 
TNPW2-2012-06
TNPW2-2012-06TNPW2-2012-06
TNPW2-2012-06
 
TNPW2-2012-05
TNPW2-2012-05TNPW2-2012-05
TNPW2-2012-05
 
TNPW2-2012-04
TNPW2-2012-04TNPW2-2012-04
TNPW2-2012-04
 

TNPW2-2013-10

  • 1. TNPW2 2012/2013 10 – Technologie XML Mgr. Lukáš Vacek lukas.vacek@uhk.cz
  • 2. 2 Agenda • Co je to XML? • Přednosti a nedostatky XML 10 • • • • • • 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
  • 3. 3 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 (eXtensible Markup Language) 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!
  • 4. 4 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/
  • 5. 5 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!
  • 6. 6 Agenda  Co je to XML? • Přednosti a nedostatky XML 10 • 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
  • 7. 7 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í
  • 8. 8 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 ▫ je třeba řešit i zálohování souborů uložených mimo DB…
  • 9. 9 Agenda  Co je to XML?  Přednosti a nedostatky XML 10 • 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
  • 10. 10 Nejčastější použití XML • Zveřejňování informací na webových stránkách (XHTML) • Vytváření popisných metadat (RDF – W3C standard, jde model) o dokumentech (např. OpenURL, Dublin Core, RSS/atom kanály apod.) • 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) • Doporučení: Při implementaci XML v aplikaci využívejte existující standardy a knihovny. Nevynalézejte znovu kolo!
  • 11. 11 Kdy XML není dobrou volbou? • Velké množství přenášených dat ▫ Velmi intenzivní komunikace >> vlastní data tvoří pouze zlomek celkové velikosti, limitujícím faktorem může být i přenosová cesta  příklad: nativní aplikace v mobilním telefonu, komunikující se serverem  alternativy: JSON, REST ▫ Přenos velkých (strukturovaných) dat >> problémem je jednak velikost dat, jednak "náklady" na serializaci/parsing  příklad: datové pumpy (přenos velkých dat z A -> B), datová replikace většího množství dat v reálném čase (i mezi více systémy)  alternativy: ETL nástroje, flat-file • Nepodporovaný typ rozhraní >> nativní podpora neexistuje nebo je velmi omezena na dané platformě ▫ příklad: velké firmy, jejichž ICT infrastruktura vznikala v průběhu 70-80. let nebo i dříve, stále používají main-frame/mid-range servery ▫ alternativa: proprietární/průmyslové formáty jako COPYBOOK, SWIFT nebo flat-file • Low-level programování, kde je kladen důraz na výkon ▫ příklad: telefonní ústředny, ATMs (bankomaty) nebo platební terminály ▫ alternativa: flat-file
  • 12. 12 Agenda  Co je to XML?  Přednosti a nedostatky XML 10  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
  • 13. 13 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ů <obsah> <mujElement>nějaký řetězec</mujElement> </obsah>
  • 14. 14 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!): <?xml version="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: <?xml version="1.0 ?>
  • 15. 15 Mime type v XHTML • Mime typ je textová informace v hlavičce zprávy, která popisuje, jaká data budou následovat. • Je složena ze dvou částí: Označení typu dat/Konkretizace dat. • Podle mime typu se určuje, jaký parser v prohlížeči (HTML vs XML) bude zdrojový kód zpracovávat. HTML: <meta http-equiv="content-type" content="text/html;... XHTML: <meta http-equiv="content-type" content="application/xhtml+xml;... • Až do verze IE9 neuměl MS prohlížeč správně zpracovat mime typ pro XHTML! • Problém částečně řeší HTML5. • http://dero.name/weblog/xhtml-mime/ • http://zdrojak.root.cz/clanky/polyglot-aneb-webovym-koderem-pod-oboji/ • http://zdrojak.root.cz/clanky/xhtml-je-mrtve-at-zije-html5-nebo-ne/
  • 16. 16 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
  • 17. 17 Atributy • Atribut poskytuje dodatečnou (doplňující) informaci o elementu, pokud je použit, 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ů: <element atribut1='hodnota1’ tribut2=“hodnota2“>obsah</element> <element2 atribut3=’a“BC“d’>obsah</element2>
  • 18. 18 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! <!– můj komentář --> <element <!– můj komentář -->>obsah</element> je chybně!
  • 19. 19 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í <?identifikátor data?> • 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-stylesheet href="styl.css" type="text/css"?> ... <?php echo “výpis“ ?>
  • 20. 20 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 <script type="text/javascript"> <![CDATA[ for (i=0; i < 10; $++) { document.writeln("<p>Ahoj</p>"); } ]]> </script>
  • 21. 21 Agenda  Co je to XML?  Přednosti a nedostatky XML 10  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
  • 22. 22 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 (well formed), zobrazí jej. V opačném případě prohlížeč oznámí chybu! 10-01-priklad.xml 10-02-priklad-validace.html (pouze Internet Explorer! Používá ActiveX prvek)
  • 23. 23 Agenda  Co je to XML?  Přednosti a nedostatky XML 10  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. 24 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 (eXtensible Stylesheet Language) • CSS je jednodušší a není vytvořen podle pravidel XML (na rozdíl od XSL), používá svá vlastní pravidla!
  • 25. 25 XML a CSS • Připojení CSS k dokumentu XML: <?xml-stylesheet href="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 10-03-priklad.xml
  • 26. 26 Agenda  Co je to XML?  Přednosti a nedostatky XML 10  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
  • 27. 27 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)
  • 28. 28 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: 10-04-priklad.xml • Příklad použití XML souboru s XML schématem: http://www.kosek.cz/xml/schema/index.html
  • 29. 29 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)
  • 30. 30 Agenda  Co je to XML?  Přednosti a nedostatky XML 10  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. 31 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 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
  • 32. 32 Deklarace jmenných prostorů, prefixy • Jmenný prostor je možné deklarovat v libovolném elementu <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 <mujelement xmlns=“identifikace prostoru“ xmlns:bib=“http://www.book.org/bibliography“> <test1>obsah</test1> <bib:test2>obsah2</test2> <test3>obsah2<test3> </mujelement>
  • 33. 33 Agenda  Co je to XML?  Přednosti a nedostatky XML 10  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. 34 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 (eXtensible Stylesheet 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 (eXtensible Stylesheet Language Transformations) • XSL má dvě části: ▫ XSLT, ▫ XSL-FO (formátovací objekty typu XSL).
  • 35. 35 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 ) 10-05-priklad.xml
  • 36. 36 Agenda  Co je to XML?  Přednosti a nedostatky XML 10  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. 37 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 • http://zdrojak.root.cz/clanky/polyglot-aneb-webovym-koderem-pod-oboji/
  • 38. 38 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
  • 39. 39 Agenda  Co je to XML?  Přednosti a nedostatky XML 10  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