Stručný obsah // Obsah // 1 Galaxie XML...7 // 2 Syntaxe XML...41 // 3 Schémata XML...67 // 4 Jmenné prostory...105 // 5 Transformace XSL...121 // 6 Formátování objektů pomoci XSL a kaskádové styly...155 // 7 Analyzátor a objektový model dokumentu...183 // 8 Alternativní API: SAX...219 // 9 Jak psát dokumenty XML...251 // 10 Modelování s ohledem na pružnost...283 // 11 Vícevrstvá architektura a XML...317 // 12 Spojujeme všechny části do jediného celku // - ukázka aplikace pro elektronický obchod...349 // Příloha A Rychlokurs jazyka Java...417 // Rejstřík...441 Obsah // Obsah // Úvod...4 // Edice „V příkladech“...4 // Pro koho je určená tato kniha...4 // Struktura knihy...5 // Konvence použité v knize...6 // 1 Galaxie XML...7 // Úvod...8 // První poznatky o jazyku XML...10 // Žádné preddefinované tagy...10 // Přísnější syntaxe...11 // Jak vypadá struktura dokumentu...12 // Historie značkovacích jazyku...16 // Značkování... 16 // Procedurální značkování...16 // Obecné kódování...19 // SGML - Standard Generalized Markup Language...20 // HTML - Hypertext Markup Language...22 // XML - extensible Markup Language...28 // Aplikace XML...30 // Dokumentové aplikace...30 // Datové aplikace...31 // Doprovodné standardy...34 // Jmenné prostory XML...34 // Kaskádové styly...35 // DOM a SAX...37 // XLink a XPointer... 37 // Software XML...38 // Prohlížeč XML...38 // Editory XML...39 // Analyzátory XML... 39 // Procesory
XSL...39 // Co dál?...40 // 2 Syntaxe XML...41 // První náhled na syntaxi XML...41 // Začínáme se značkováním XML...42 // Počáteční a koncové tagy elementů...44 // Názvy v jazyku XML...44 // Atributy...46 // Prázdný element...47 // Vnořování elementů...47 // Kořen...48 Obsah vii // Deklarace XML...49 // Pokročilá témata... 50 // Komentáře...50 // Unicode...50 // Entity...51 // Speciální atributy...53 // Instrukce pro zpracování...53 // Sekce CDATA...54 // Často kladené otázky o XML...55 // Odsazování kódu... 55 // Proč je nutné používat koncový tag?...56 // XML a sémantika...57 // Čtyři klasické chyby... 59 // Vynechávání koncových tagů...59 // Opominutí nutnosti rozlišovat velká a malá písmena...60 // Mezery v názvech elementů...60 // Vynechání uvozovek u hodnoty atributů...60 // Editory XML...60 // Tři typy aplikaci XML...62 // Publikování...62 // Výměna obchodních dokumentů...63 // Kanály...65 // Co dál?... 66 // 3 Schémata XML...67 // Syntaxe DTD ... 68 // Deklarace elementu...69 // Název elementu...70 // Speciální klíčová slova...70 // Co znamenají znaky plus, hvězdička a otazník...71 // Co znamenají čárka a svislice...71 // Obsah elementu a odsazení...72 // Jednoznačný model...72 // Atributy...73 // Deklarace typu dokumentu...74 // Interní a externí podmnožiny...75 // Formáty veřejných identifikátorů...77 // Samostatné dokumenty...77 // Proč vůbec používat schémata?...78
// Správně strukturované a platné dokumenty...79 // Vztah mezi DTD a dokumentem...80 // Výhody DTD...82 // Ověření platnosti dokumentu...82 // Entity a notace...83 // Všeobecné a parametrické entity...84 // Interní a externí entity...85 // Notace...87 // Správa dokumentů pomocí entit...88 Obsah // Podmínečné sekce...89 // Navrhování DTD...89 // Hlavni výhody využíváni již existujících DTD...90 // Navrhováni DTD na základě objektového modelu...90 // Elementy versus atributy...94 // Jak vytvořit DTD zcela od začátku. ...95 // O pružnosti...95 // Modelování dokumentu XML...97 // Pojmenování elementů...101 // Pomocné nástroje...102 // Nová schémata XML... 102 // Co dále?...103 // 4 Jmenné prostory...105 // Problémy, které se dají pomocí jmenných prostorů vyřešit... 106 // Jmenné prostory... .110 // Názvy jmenných prostorů...112 // URI...112 // Jaké údaje jsou v názvu?...113 // Registrace názvu domény...114 // Vytvoření smysluplné adresy URL...115 // URN...115 // Rozsah platnosti...116 // Jmenné prostory a DTD...117 // Praktická aplikace jmenných prostorů...119 // Seznamy stylů XML...119 // Propojení...120 // Co dál?...120 // 5 Transformace XSL ...121 // К čemu jsou dobré styly...122 // CSS...122 // XSL...122 // Jazyk XSL...123 // LotusXSL...123 // Koncepce XSLT...124 // Základy XSLT...124 // Prohlížení dokumentu XML v prohlížeči...125 // Jednoduchý seznam stylů...127 // Element Stylesheet...130
// Elementy Šablony...130 // Cesty...131 // Odkazy na atributy...131 // Odkazy na text a funkce...132 // Podrobnější zkoumání stromu...133 // Sledujeme práci procesoru...134 // Vytváření uzlů ve výsledném stromu...135 Obsah // Priorita...136 // Podpora jiných médií...137 // Konverze do prostého textu...137 // Zobrazení dokumentu dle potřeby...139 // Kde se máji aplikovat styly...140 // Internet Explorer 5.0...141 // Změny v seznamu stylů...144 // Pokročilé XSLT...145 // Deklarování entit HTML v seznamu stylů... 148 // Změna struktury zdrojového stromu...149 // Volání šablony...149 // Opakování...150 // Používáme XSLT pro získávání informací...150 // Co dál?...154 // 6 Formátování objektů pomocí XSL a kaskádové styly...155 // Vyjádřeni obsahu XML bez jazyka HTML...156 // Základy CSS...157 // Jednoduché CSS...158 // Komentáře...I60 // Selektor...I60 // Priorita...161 // Vlastnosti...162 // Tekoucí objekty a boxy...162 // Tekoucí objekty...163 // Dědičnost vlastností... 163 // Boxy...I63 // Hodnoty vlastností CSS ...166 // Délky...166 // Procenta...167 // Barva...167 // Adresy URL...167 // Vlastnosti boxů...168 // Vlastnost Display...I68 // Vlastnosti vnějšího okraje...I68 // Vlastnosti výplně...l69 // Vlastnosti stylu rámečku...169 // Vlastnosti určující šířku rámečku...169 // Zkratky pro vlastnosti rámečku...169 // Vlastnosti textu a fontů...170 // Název fontu...170 // Velikost písma...170
Styl písma a jeho váha...170 // Zarovnání textu...171 // Odsazení textu a výška řádku . . ...171 // Zkratky pro vlastnosti písma...171 // Vlastnosti barvy a pozadí... 172 x // Obsah // Barva popředí...172 // Barva pozadí...172 // Barva rámečku boxu...172 // Obrázek v pozadí...172 // Některé pokročilé rysy CSS... 173 // Dětský selektor...175 // Selektor sourozence...175 // Selektor atributu...175 // Doplnění obsahu dokumentu...175 // Import seznamu stylů...175 // CSS a editory XML...176 // Textové editory...176 // Editory vycházející ze stromu struktury dokumentu...176 // Pseudo-WYSIWYG editory...177 // Formátovací objekty XSL - XSLFO... 178 // XSLT a CSS...178 // XSLFO - formátovací objekty XSL...180 // Co dál?...182 // 7 Analyzátor a objektový model dokumentu... 183 // Co je to analyzátor XML?...183 // Analyzátory XML...184 // Analyzátory XML s ověřováním nebo bez ověřování...185 // Analyzátor a aplikace...185 // Architektura programu XML...185 // Objektové rozhraní...186 // Událostní rozhraní...188 // Potřeba standardů...189 // Objektový model dokumentu (DOM)...189 // Začínáme pracovat s objektovým modelem dokumentu ... 190 // Aplikace DOM...190 // Uzel objektového modelu dokumentu...193 // Objekt Document...194 // Průchod stromem elementů...195 // Objekt Element...197 // Objekt Text...197 // Aktuální postavení v dokumentu...198 // Aplikace DOM, která si udržuje informace o momentálním postavení...198
// Atributy... 201 // Objekt NamedNodeMap...206 // Objekty Attr...206 // Poznámka o struktuře kódu...207 // Časté chyby a jak se jim vyhnout či je vyřešit...207 // Analyzátory XML vám nic neodpustí!...207 // Chybové zprávy...208 // Obvyklé chyby XSLT...209 Obsah // DOM a Java...209 // DOM a IDL...209 // Aplikace DOM napsaná v jazyku Java...210 // Dva hlavni’ rozdily...212 // Analyzátor...213 // DOM v aplikacích...213 // Prohlížeče...213 // Editory...217 // Databáze...217 // Co dál?...218 // 8 Alternativní API: SAX...219 // Proč vůbec jiné API?...219 // Objektová a událostní rozhraní...220 // Událostní rozhraní...221 // Proč používat rozhraní založené na událostech?...223 // SAX: Alternativní API...224 // Začínáme pracovat s rozhraním SAX...224 // Kompilace příkladu...227 // SAX a jeho rozhraní a objekty... 228 // Hlavní události SAX...228 // Rozhraní Parser...229 // ParserFactory... . . . 229 // InputSource...229 // DocumentHandler...229 // AttributeList...230 // Locator...231 // DTDHandler...231 // EntityResolver...232 // EnorHandler...232 // SAXException...232 // Udržování informací o aktuálním postavení... 233 // Vrstvená architektura...243 // Postavení v dokumentu...244 // Přechody mezi stavy (do jiných postavem")...245 // Co jsme se naučili...248 // Pružnost ...248 // Návrhy beroucí ohled na pružnost aplikace...248 // Jak si vynutit zachování struktury...249 // Co dál?...249 // 9 Jak psát dokumenty XML...251
// Opak analyzátoru...251 // Změna dokumentu s využitím modelu D0M...252 // Vkládání uzlů...256 // Uložení dokumentu ve formátu XML...258 // Metody DOM pro vytváření a změnu dokumentů... 258 xii // Obsah // Irida Document...258 // Třída Node...259 // Třída CharacterData...259 // Třída Element...259 // Třída Text...260 // Vytváříme nový dokument pomoci DOM... 260 // Vytváření uzlů...262 // Vytvoření elementu na nejvyšší úrovni...263 // Používáme DOM pro tvorbu dokumentů...264 // Vytváříme dokumenty bez použití modelu DOM...264 // Jiné typy datových struktur...268 // Zápis XML...269 // Skrytí syntaxe...270 // Vytváření dokumentů z jiných typů datových struktur...271 // Manipulace s dokumenty XML...271 // Odeslání dokumentu na server...272 // Uložení dokumentu...274 // Zápis dokumentů s ohledem na pružnost aplikace... 275 // Podpora několika DTD pomocí XSLT...275 // Jak volat XSLT...281 // Jakou strukturu pro dokument máte vybrat?...282 // XSLT ve srovnání s vlastními funkcemi...282 // Co dál?...282 // 10 Modelování s ohledem na pružnost...283 // Strukturovaný a rozšiřitelný jazyk...283 // Jak omezit možnou rozšiřitelnost XML...284 // Opíráme se o rozšiřitelnost XML...288 // Co jste se naučili...295 // XLink...297 // Jednoduché odkazy...297 // Rozšířené odkazy...299 // XLink a prohlížeče...301 // Podpisy...301 // Správná úroveň abstrakce...303 // Destruktivní a nedestruktivní transformace...303
// Označte si to!...307 // Nepovolujte příliš velký počet možností...309 // Atributy a elementy...312 // Kdy používat atributy...313 // Kdy používat elementy...314 // Co jste se naučili...315 // Co dál?...315 // 11 Vícevrstvá architektura a XML...317 // Co znamená pojem „vícevrstvá aplikace“? ...318 // Aplikace typu klient/server...318 Obsah // Třívrstvé aplikace... 319 // Vícevrstvé aplikace...320 // Aplikace XCommerce... 320 // Přijatá zjednodušeni...321 // Obchod ... 321 // Server XML... 325 // Jak vám XML může pomoci při řešeni úkolu... 327 // Middleware... 328 // Společný formát...329 // XML pro datovou vrstvu...330 // Rozšiřitelnost... 330 // Škálovatelnost...332 // Přizpůsobivost... 336 // XML ve střední vrstvě...337 // Klient...342 // Programovací jazyky pro serverové aplikace...345 // Perl...346 // JavaScript... 346 // Python...346 // Omnimark...347 // Java...347 // Co dál?...348 // 12 Spojujeme všechny části do jediného celku // - ukázka aplikace pro elektronický obchod...349 // Sestavujeme aplikaci XCommerce ...349 // Classpath...: . 350 // Soubory pro konfiguraci...350 // Adresáře...351 // Kompilace a spuštění aplikace...352 // Adresy URL...352 // Databáze...352 // Střední vrstva... 354 // MerchantCollection...;...360 // Merchant...364 // Product... Зб9 // Checkout...372 // Zapouzdření nástrojů XML...381 // Datová vrstva... 392 // Prohlížeč a editor...405 // Co dál?...415 // Příloha A
Rychlokurs jazyka Java...417 // Stručný přehled jazyka Java... ...417 // Serverové aplikace ...418 // Komponenty serverových aplikací...418 xiv // Obsah // Stahování nástrojů pro Javu...419 // Prostředí pro Javu...419 // Komponenty XML...420 // Stroj pro spouštění servletů...420 // Vaše první aplikace v jazyku Java... 421 // Řízení běhu programu...424 // Proměnné...424 // Třída... 425 // Vytváření objektů...425 // Přístup к polím a metodám...426 // Statické metody a pole... 426 // Metody a parametry... 426 // Konstruktory...427 // Balíčky...427 // Příkaz Import... 427 // Řízení přístupu...428 // Komentáře a Javadoc...428 // Výjimky...430 // Serviety...431 // Váš první serviet...432 // Dědičnost...435 // doGetO...436 // Další pojmy jazyka Java...437 // This a Super...437 // Rozhraní a vícenásobná dědičnost...437 // Jak chápat classpath...438 // Soubory typu JAR...439 // Základní API Javy...440 // Co dál?...440 // Rejstřík...441