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. Pro snazší spouštění příkazů je vhodné přidat si tento adresář do cesty. Můžeme to udělat snadno spuštěním příkazu y:\w32\xml\batch\xmlcmd, který otevře nový příkazový řádek se správným nastavením.

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 ISISu. 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.

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

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.

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

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

Saxon 9

Novější verze Saxonu, která podporuje XSLT 2.0.

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

XSLT debuggery

Debugger XSLT kódu je obsažen v editoru oXygen.

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 ISISu) a uložit jej do souboru license.xml. Tento soubor pak na stránce http://www.renderx.com/download/updates.html slouží ke stažení akademické verze XEPu (zvolte Update Current Software). 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

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
db2chunk dokument.xml
db2fo dokument.xml
db2pdf dokument.xml