200 likes | 350 Views
Vít Profant Obhajoba bakalářské práce. XML a Java. Obsah. XML a jazyky od něj odvozené (6 slidů) Práce s XML (6 slidů) XML a Java s příkladem aplikace (5 slidů) Závěr (1 slide). Co je to XML?. Extensible Markup Language = rozšiřitelný značkovací jazyk struktura dokumentu podobná HTML
E N D
Vít Profant Obhajoba bakalářské práce XML a Java
Obsah • XML a jazyky od něj odvozené (6 slidů) • Práce s XML (6 slidů) • XML a Java s příkladem aplikace (5 slidů) • Závěr (1 slide)
Co je to XML? • Extensible Markup Language = rozšiřitelný značkovací jazyk • struktura dokumentu podobná HTML • přísnější syntaktická pravidla • volitelné sady značek
Logická struktura XML dokumentu • XML deklarace, zde je možné uvést kódování. • (nepovinná) deklarace typu dokumentu • tělo dokumentu s kořenovým elementem • Do kořenového mohou být postupně zanořeny další elementy.
Logická struktura XML dokumentu 2 • Elementy mohou obsahovat atributy • Strukturu elementů a atributů lze zobrazit jako stromový graf. • Použitelné elementy a atributy a možné vztahy mezi nimi jsou určeny schématem.
Příklad schématu • Nejstarším a nejrozšířenějším schématem je DTD – definice typu dokumentu • Obsahuje definice elementů a jejich obsahu • Obsahuje definice atributů jednotlivých elementů
Fyzická struktura XML dokumentu • XML dokumentem může být jediný soubor • Netextové objekty se zadávají jako externí entity • Rozsáhlejší dokument může části svého textu načítat taktéž z externích entit.
Příklady standardních XML jazyků • XHTML – nástupce již nevyhovujícího HTML • WML (Wireless Markup Language) – pro mobilní telefony, pagery ap. • DocBook – pro tvorbu technické dokumentace • SVG (Scalable Vector Graphics) – formát zápisu vektorových obrázků • MathML – formát zápisu matematických výrazů • ebXML (Electronic Business XML) – bezpečná výměna obchodních informací
Způsob práce programu s XML 1. tvorba či úpravy XML dokumentu programová aplikace XML dokument XML parser 2. zpracování XML dokumentu chybový výstup programová aplikace XML dokument XML parser
Tvorba XML dokumentů v editoru • Stejný dokument, jako byl vytvořen programově, můžeme vytvořit pomocí editoru i my. • Nepovažujeme-li WYSIWYG XML editory za aplikace automaticky tvořící dokumenty, pak při publikování s XML editor použít musíme. • Takovýto dokument je třeba ověřit validátorem (obvykle využívající validující parser) podle příslušného schématu • Lepší XML editory mohou validovat průběžně, zobrazovat dokumentový strom aj.
Editor Emacs • ne-WYSIVIG vhodný pro XML a prostou Javu • multiplatformní, i pro Windows s jádrem >= NT • součást projektu GNU, původně určen pro Unix • rozšiřitelný skrze vestavěný procesor e-Lispu • PSGML – e-Lisp sada pro práci s SGML a XML • XSLT-transform – pro XSL a FO transformace • JDE – vývojové prostředí pro Javu
Java • nejvhodnější jazyk pro programování s XML • multiplatformní (stejně jako XML), dobrá podpora sítí a Internetu • jednoduchá na osvojení, probíhá vývoj knihoven, do standardní edice k dispozici zdarma • V Javě je naprogramovaná většina XSLT a FO procesorů a mnoho parserů, ale jen málo z těchto produktů je skutečně kvalitních
Vocabul – příklad aplikace • Program pro výuku a zkoušení slovíček • Naprogramován původně v Emacsu, s grafickým prostředím vytvořeno v Jbuilderu • zadávat v XML editoru, učit a zkoušet v aplikaci
Vocabul – příklad aplikace 2 • Aby nedocházelo ke zhroucením programu kvůli špatnému vstupu, vadný soubor se nezpracuje. Namísto toho se na stavové řádce vypíše I/O výjimka nebo výjimka vygenerovaná parserem
Vocabul – příklad aplikace 3 • Při výuce slovíčka postupně procházíme • Použité XML API nás na slovíčka odkazuje jako na pole objektů, takže pro pohyb tam a zpět pouze zvyšujeme či snižujeme aktuální index o 1.
Vocabul – příklad aplikace 4 • Při zkoušení se po dotázání na všechna cizí slova program ptá na chybně zodpovězená slova, dokud tato nejsou všechna zodpovězena správně. • Pracuje se se spojovým seznamem indexů, po správné odpovědi se příslušný prvek vypustí.
Závěr • XML je velmi univerzální, ale i funkční formát. • Konsorcium W3C vyvíjí obecně uznávané standardy ohledně Internetu i XML. • Vývoj software pro XML za standardy zaostává. • Nejlepším dostupným programovacím jazykem pro práci s XML je Java. • Nedostatky dostupného softwaru při práci s XML je možné obejít vlastními aplikacemi v Javě, přinejhorším nestandardně vytvořených.