XML software na počítačových učebnách VŠE

Úvod

V následujícím dokumentu se můžete dozvědět, jaký software podporující práci s XML je nainstalován na školní síti VŠE a jak ho správně používat. Většinu softwaru můžete rovněž používat doma, protože se jedná o open-source produkty.

Všechny programy jsou nainstalovány v adresáři y:\w32\xml, najdete v něm i další užitečné informace jako dokumentaci apod.

XML editory

Jako XML editor můžete použít libovolný textový editor – např. Notepad, HTML-Kit, jEdit, Emacs, Vi, editor z NetBeans nebo VisualStudio.NET – jejich popis zde neuvádím.

oXygen

Profesionální editor pro vývojáře XML. Program je dostupný na všech počítačových studovnách. Licence, kterou má škola umožňuje použití editoru i na počítačích studentů pro účely přípravy na kurzy vyučované na VŠE. Licenční klíč pro domácí použití můžete získat na následující adrese https://badame.vse.cz/oxygen/. Po přečtení licence stačí zadat jméno a heslo do školní lokální počítačové sítě. Po úspěšné autorizaci získáte licenční klíč a informaci o stažení produktu.

oXygen nabízí přímou podporu pro většinu technologií XML. Pro účely našeho předmětu je však vhodné vylepšit schopnosti editoru v oblasti XSL-FO. oXygen obsahuje pouze open-source formátovač FOP. Doporučuji místo něj používat XEP, který nabízí lepší diagnostiku chyb.

Použití XEPu v oXygenu

  • Nainstalujte si XEP.

  • V oXygenu zvolte OptionsPreferences…. V seznamu voleb navigujte na XMLXSLT-FO-XQueryFO Processors a stiskněte tlačítko Browse vedle popisu If you have XEP installed you can use it directly.. V dialogu vyberte cestu k souboru xep.bat v adresáři s instalací XEPu.

  • Při tvorbě nových transformačních scénářů je nyní možné vybrat jako procesor FO program XEP. Na záložce FO Processor v poli Processor stačí vybrat volbu XEP.

Použití FOPu s českými fonty v oXygenu

  • Stáhněte si počeštění FOPu z adresy http://www.kosek.cz/sw/fop/fop-cs-0.95.zip. Soubor rozbalte do adresáře c:\fop-0.93.

    [Poznámka]Poznámka

    Lze použít libovolný jiný adresář, ale je pak potřeba upravit cestu na začátku konfiguračního souboru conf/myfop.xconf.

  • V oXygenu zvolte OptionsPreferences…. V seznamu voleb navigujte na XMLXSLT-FO-XQueryFO Processors. Do vstupního pole Configuration file for the built-in FOP zadejte cestu k souboru conf/myfop.xconf (typicky c:/fop-0.93/conf/myfop.xconf.

jEdit

Tento editor napsaný v Javě nabízí pomocí plug-inů poměrně komfortní prostředí pro editování dokumentů XML, včetně doplňování elementů a atributů na základě DTD. Pro pohodlnou práci s XML je užitečné nastavení, kdy kromě dokumentu vidíme vlevo jeho stromovou strukturu, vpravo se nám nabízejí podle DTD elementy ke vložení a v dolní části vidíme seznam chyb. Toto rozložení můžeme nastavit pomocí příkazu UtilitiesGlobal Options.... Nyní vybereme jEdit+Docking. Pro okno Structure Browser nastavíme dokovací pozici left, pro XML Insert right a pro Error List bottom.

Dokument si můžeme nechat kdykoliv zvalidovat nebo zkontrolovat alespoň well-formdness. Stačí jej uložit, při ukládání se automaticky spustí parser a v okně Error List si můžeme prohlédnout jednotlivé chyby.

Pro Editování dokumentů v DocBooku je vhodné přidat si do jEditu katalogový soubor, který zamezí načítání DTD ze sítě. Zvolíme opět UtilitiesGlobal Options... a nyní Plugins+XML+Catalogs.

Na učebnách s WinXP jEdit spustíte pomocí y:\w32\java\jedit\jedit.bat nebo z menu v kategorii Programovací jazyky.

XMLmind – WYSIWYG XML editor

XMLmind umožňuje WYSIWYG editování XML dokumentů, pokud k nim existuje DTD a CSS styl. Nemáte-li rádi tagy, může se vám líbit. Editor je už nakonfigurován pro editování DocBooku a XHTML. Obsahuje i WYSIWYG editor tabulek.

Editor spustíte příkazem xxe.bat.

Parsery

Parsery slouží k ověření syntaktické správnosti XML dokumentu.

xmllint

Pro zkontrolování správné strukturovanosti (well-form):

xmllint --noout dokument.xml

Pro validaci dokumentu:

xmllint --noout --valid dokument.xml

Xerces

Pro zkontrolování správné strukturovanosti (well-form):

xerces dokument.xml

Pro validaci dokumentu:

xerces -v dokument.xml

Pro validaci dokumentu oproti XML schématu:

xerces -v -s dokument.xml

MSXML

Pro validaci dokumentu:

msxml dokument.xml

Pokud k dokumentu není připojené DTD, provede se jen kontrola správné strukturovanosti. Chybová hlášení jsou standardně nepřehledně vypisována do dialogových oken. Chcete-li hlášení vypisovat přehledně do textové konzole, spusťte si na příkazové řádce:

cscript //h:cscript

Jing

Jing je parser provádějící validaci oproti Relax NG schématu. Spuštění:

jing schéma.rng dokument.xml

Prvním parametrem může být i DTD nebo XML schéma.

nsgmls

Pro zkontrolování správné strukturovanosti (well-form):

nsgmls -wxml -vno-valid -s y:\w32\xml\jade\xml.dcl dokument.xml

Pro validaci dokumentu:

nsgmls -wxml -s y:\w32\xml\jade\xml.dcl dokument.xml

XSLT procesory

Saxon

Saxon je velmi kvalitní procesor napsaný v Javě, současné nastavení podporuje i katalogové soubory a speciální rozšíření pro lepší podporu docbookových stylů. Je proto nejvhodnějším nástrojem pro transformace docbookových dokumentů pomocí XSL stylů.

saxon -o výstup.html dokument.xml styl.xsl

K dispozici je i verze, která místo XML katalogů podporuje SGML katalogy:

saxoncat -o výstup.html dokument.xml styl.xsl

xsltproc

Velmi rychlý procesor napsaný v C. Podporuje XML katalogy, ale nejsou pro něj implementovány rozšiřující funkce pro docbookové styly.

xsltproc -o výstup.html styl.xsl dokument.xml
[Varování]Varování

Pokud zadáváte cestu ke stylu nebo XML dokumentu, který načítá další styly nebo entity, používejte normální lomítka místo zpětných. Např.:

xsltproc y:/w32/xml/ss/xsl/html/chunk.xsl dokument.xml

Případně cesty zadávejte jako URL adresu:

xsltproc file:///y:/w32/xml/ss/xsl/html/chunk.xsl dokument.xml

MSXML

Řádkové rozhraní k XSLT procesoru z MSXML.

msxsl dokument.xml styl.xsl -o výstup.html

XT

Procesor staršího data, který nepodporuje XSLT 1.0 úplně, je zde spíše z historických důvodů.

xt dokument.xml styl.xsl výstup.html

Saxon 8

Nová verze Saxonu, která podporuje návrh jazyka XSLT 2.0.

saxon8 -o výstup.html dokument.xml styl.xsl

XSLT debuggery

Debugger XSLT kódu je obsažen v editorech oXygen a XMLSpy.

FO procesory

FO procesory slouží k převodu souboru s formátovacími objekty (FO) do nějakého výstupního formátu – nejčastěji PDF.

XEP

Komerční FO procesor, který nabízí jednu z nejúplnějších implementací FO. VŠE má k dispozici speciální akademickou licenci. Akademickou verzi XEPu můžete ke studijním účelům používat i doma na svém počítači. Stačí si sáhnout licenční klíč (je nutné se prokázat heslem do školní sítě) a uložit jej do souboru license.xml. Tento soubor pak na stránce http://www.renderx.net/Content/download/getbuy.cgi slouží ke stažení akademické verze XEPu. Klíč je vyžadován i během instalace a spuštění XEPu.

[Varování]Varování

Java ve Windows si moc dobře nerozumí s diakritikou v názvech adresářů. Je proto lepší instalovat XEP do adresáře, v jehož názvu nejsou znaky s diakritikou a mezery.

V XEPu funguje čeština i české dělení slov. Při instalaci doma, je potřeba provést počeštění podle popisu.

xep -fo dokument.fo -pdf dokument.pdf

XEP obsahuje i XSLT procesor, takže je schopný provést přímo i transformaci z XML do FO a zalomení do PDF:

xep -xml dokument.xml -xsl styl.xsl -pdf dokument.pdf

FOP

Open-source FO procesor, rozšířený o podporu českých fontů a české dělení slov.

fop dokument.fo dokument.pdf

FOP umí kromě PDF i další výstupní formáty – např. PCL nebo PostScript.

fop dokument.fo -ps dokument.ps
fop dokument.fo -pcl dokument.pcl

FOP umí zobrazit zformátovaný dokument i přímo na obrazovce:

fop dokument.fo -awt

DSSSL procesory

Jade

jade -d styl.dsl -t formát y:\w32\xml\jade\xml.dcl dokument.xml

XPath

Po otevření následujících stránek v Internet Exploreru (buď ve verzi 6.0 nebo ve verzi 5 a vyšší s knihovnou MSXML3, resp. MSXML4) si můžete vyzkoušet interaktivní vyhodnocování XPath výrazů nad zvoleným XML dokumentem.

y:\w32\xml\tools\xpath\XPathMain.htm
y:\w32\xml\tools\xpath-expression-builder 3.0\xpath.htm
y:\w32\xml\tools\xpath-expression-builder 4.0\xpath.htm

DocBook

Práce s DocBookem je popsána v materiálech, které jste dostali. Kromě toho máte k dispozici několik předpřipravených dávkových souborů, které provádějí konverzi docbookových dokumentů do nejběžnějších výstupních formátů.

db2html dokument.xml
db2rtf dokument.xml
db2chunk dokument.xml
db2fo dokument.xml
db2pdf dokument.xml

Pokud chcete generovat výstup do HTML Helpu, musíte si nainstalovat HTML Help Workshop – y:\w32\xml\inst\htmlhelp.exe. Na učebnách s WinXP je již HTML Help Workshop nainstalován.