Vít Profant Obhajoba bakalářské práce XML a Java Vít Profant Obhajoba bakalářské práce
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 XML dokument programová aplikace 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.
Transformace do XML nebo HTML
Transformace do PDF nebo RTF
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.