Epic Editor 4.1

Dejte pozor, ať se neupíšete ďáblu

Jiří Kosek


Obsah

Editování XML
Tabulky, obrázky a …
Tisky a výstupy
Import a export
Podpora češtiny
Dokumentace
Shrnutí
Proč vytvářet dokumenty v XML?
Slovníček pojmů

O tom, že pro ukládání mnoha druhů dokumentů je formát XML mnohem lepší než nějaký DOC, je již přesvědčeno mnoho lidí. Největším současným problémem je však pořizování XML dokumentů. Bez přítulného XML editoru, který na první pohled vypadá jako součást kancelářské aplikace, nám XML dokumenty bude ochotna psát jen hrstka počítačových nadšenců. Podívejme se proto na editor Epic považovaný za jeden z nejlepších XML editorů současnosti.

Firma ArborText se vývoji aplikací pro práci s SGML a později i s XML věnuje již pěknou řádku let. Dlouhou dobu byl jejím hlavním produktem SGML editor Adept, který používaly především velké firmy pro tvorbu dokumentace. S nástupem a popularizací XML se ArborText začal orientovat i na menší zákazníky a další odvětví využití strukturovaných dokumentů. Z Adeptu se tak vyvinul celý balík aplikací pod názvem Epic. Kromě editoru, se kterým se seznámíme během recenze, do něj patří Epic Architect pro zákaznické úpravy editoru, publikační server E3, napojení na několik různých systémů pro správu obsahu a filtry pro generování výstupu v různých formátech.

Editování XML

Základní funkcí každého editoru je samozřejmě editování textu. XML editor musí splňovat přece jen poněkud odlišná kritéria od běžných textových editorů. Vyplývá to i ze zcela rozdílného způsobu práce. Pokud chceme v Epicu (a ostatně v jakémkoliv jiném editoru) efektivně vytvářet XML dokumenty, musí editor podporovat DTD. Pomocí DTD se definuje, jaké elementy a atributy jsou v dokumentech přípustné a v jakých kombinacích se mohou vyskytovat. Při editaci dokumentu editor neustále uživatele hlídá, aby nemohl vytvořit dokument, který by neodpovídal DTD.

Pro pohodlné editování samotné DTD nestačí. Editor musí mít pro každé DTD definován styl, který určuje způsob zobrazení jednotlivých elementů. Styl je mechanismus, který zaručí, že XML dokument je uživateli prezentován v podobě, která zhruba odpovídá nejběžnějšímu výstupnímu formátu. Epic umožňuje styly definovat pomocí jazyka FOSI nebo XSL. Jednoduché definice lze vytvářet přímo v editoru, složitější styly je nutné vytvořit ručně nebo v samostatné aplikaci Epic Architect.

Pro opravdu pohodlnou editaci je vhodné ke každému DTD připravit tzv. ATD (Auxiliary Data Tag). Tento soubor umožňuje definovat odezvu editoru na jednotlivé akce uživatele, přidat další tlačítka do panelu nástrojů apod. Pokud například chceme, aby se automaticky po stisku klávesy Enter vložil nový element para, je ATD tím pravým kandidátem na tuto úpravu. Pečlivě vytvořený styl a ATD umožňují prostředí editoru upravit tak, že práce s editorem se téměř neliší od práce ve Wordu a jemu podobných.

Epic je schopný editovat dokument s libovolným DTD a dokonce si poradí i se správně strukturovanými (well-formed) dokumenty, které k sobě nemají DTD. Nejpoužívanější DTD jsou v editoru přímo předkonfigurovány. Pokud tedy chcete vytvářet dokumenty v HTML nebo DocBooku, stačí editor nainstalovat a spustit. Kromě těchto téměř standardních formátů je zde přímá podpora pro některé další. Asi nejzajímavějším je rozšířená verze DocBooku, která umožňuje vkládaní matematických vzorců. Na posledním příkladě ArborText ukázal, co všechno lze dokázat pomocí stylů a ATD.

Obrázek 1. Prostředí Epic Editoru na první pohled připomíná běžný textový editor. Uvnitř však místo srdce tepe XML.

Kromě čistého WYSIWYG režimu máme k dispozici i další způsoby práce s dokumentem. U delších dokumentů jistě oceníme možnost současného zobrazení dokumentu a jeho stromové struktury, která připomíná osnovu tak, jak ji známe z běžných textových procesorů. Ve stromu přitom můžeme jednotlivé části dokumentu zabalovat a rozbalovat a velice jednoduše se v něm orientovat. Pokud chceme mít přesný přehled o tom, jaké značky jsme do dokumentu napsali, použijeme hybridní režim (viz obrázek 2). V textu jsou zobrazeny i počáteční a koncové tagy.

Obrázek 2. Kromě běžného WYSIWYG editačního režimu a stromové struktury dokumentu je možná editace i v hybridním režimu, kdy je text přímo doplněn o XML značky.

Jak jsme si již řekli, vkládání elementů se děje buď automaticky pomocí ATD, nebo si uživatel může vybrat ze seznamu přípustných elementů. Pro atributy máme podobné možnosti. Pokud si pro dané DTD editor neupravíme, máme vždy k dispozici editor atributů (obrázek 3), který nám umožní nastavit atributy jen v mezích daných DTD.

Obrázek 3. Editor atributů umožňuje u jednotlivých elementů zadat jen ty hodnoty, které jsou povolené v DTD.

Tabulky, obrázky a …

Mnoho dokumentů samozřejmě obsahuje tabulky a další vložené objekty. V XML dokumentech se tabulky zapisují pomocí struktury vzájemně vnořených elementů. To je výhodné z hlediska dalšího zpracování, ale uživatel ocení spíše vizuální pohled na skutečnou tabulku. Epic zvládá editování tabulek ve WYSIWYG režimu, k dispozici jsou všechny obvyklé funkce jako slučování a rozdělování buněk, nastavení různých způsobů zarovnání apod. Aby šly tabulky editovat přímo, musíme pro ně používat formát CALS nebo HTML. To vyhoví většině aplikací, protože jiné formáty tabulek se dnes ve světě SGML/XML téměř nepoužívají.

Obrázek 4. Editor umí ve WYSIWYG režimu editovat samozřejmě i tabulky.

Na obrázku 4 vidíme, že tabulky opravdu nejsou problém. Formátovací informace, které nelze uložit do XML elementů a atributů (v našem případě například barva písma a pozadí buněk), se do dokumentu vloží jako instrukce pro zpracování. To je velmi rozumný způsob, protože zachovává kompatibilitu s ostatními aplikacemi a s DTD a umožňuje nám přitom využít maximální potenciál Epicu.

Obrázky se do XML dokumentů nevkládají přímo, ale bývají uloženy v samostatných souborech. XML dokument pak obsahuje pouze jméno souboru s obrázkem nebo obrázek načítá jako externí entitu. Z tohoto pohledu umí Epic pracovat s libovolným grafickým formátem. Pokud chceme obrázek zobrazit při editování přímo jako součást dokumentu, musíme použít některý z následujících formátů (uvádím jen ty formáty, které jsou nejpoužívanější):

BMPEPSJPEGTIFF
CGMGIFPCX 

Trošku mi v editoru chyběla podpora novějších formátů jako je PNG, PDF a SVG. Zabudován je i jednoduchý editor matematických rovnic. Pokud umíte zapisovat vzorce přímo v TeXové notaci, nemusíte se zdržovat klikáním myší a vzorce můžete zapisovat přímo jako v TeXu.

Obrázek 5. Zabudovaný editor rovnic by sice cenu za vzhled programu nezískal, ale při troše praxe v něm lze psát vzorce poměrně rychle.

Vzhledem k tomu, že celý editor lze ovládat pomocí zabudovaného skriptovacího jazyka a Epic umožňuje spolupráci s programy napsanými v různých jazycích včetně C++ a Javy, není čistě teoreticky problém doprogramovat si vlastní nadstavbu pro editování nějakého speciální druhu dat ukládaného jako fragment editovaného XML dokumentu.

Tisky a výstupy

Standardní verze Epic Editoru umí vytisknout jen jednoduchý náhled, který odpovídá zobrazení dokumentu v editoru. Pokud si připlatíte, můžete si k editoru dokoupit rozšiřující moduly – tzv. composery. Mezi nejpoužívanější patří modul pro formátování pro tisk. Tento modul umožňuje definovat pomocí FOSI nebo XSL stylu vzhled zformátovaného dokumentu. Pomocí stylu můžeme kromě formátování definovat vzhled a formát obsahu, vytvořit rejstřík, nastavit pravidla pro generování hlaviček a patiček dokumentu apod.

Zformátovaný výstup je možné buď rovnou vytisknout nebo uložit do formátu PostScript. Pokud máte nainstalovaný Adobe Acrobat, je možné přímo generovat i výstup do PDF. Pro typografické fajnšmekry jen dodám, že formátovací jádro Epicu je založené na TeXu.

Vytvoření kvalitního stylu zvláště pro složitější DTD není jednoduché. Pro DTD, která jsou s editorem dodávána, jsou připraveny poměrně rozumné a použitelné styly. Je v nich však potřeba opravit automaticky generované texty jako „Obsah“, „Tabulka“ apod., které jsou samozřejmě implicitně v angličtině.

Pokud by se vám zachtělo dokument publikovat na Webu, je potřeba jej převést do formátu HTML. Pokud se spokojíte s tím, že vám editor dokument uloží do jednoho velkého HTML souboru, můžete použít volbu pro uložení do HTML. Ta je dostupná pro všechny dokumenty. Pokud máte přece jen vyšší nároky, můžete použít další rozšiřující modul. Ten umožňuje pomocí XSLT stylu z dokumentu vytvořit sadu stránek navzájem provázaných odkazy. Při konverzi jsou navíc rovnice převedeny na obrázky. Konverze samozřejmě funguje pouze pro předkonfigurovanou variantu DocBooku. Pro další DTD je nutné vytvořit vlastní styly. Zajímavé je, že styly použité pro generování HTML jsou z velké části založené na volně dostupných stylech pro formátování DocBooku (http://docbook.sourceforge.net). Kromě HTML si můžeme nechat vygenerovat výsledek ve formátu HTML Help – to je formát nápovědy používaný ve všech novějších verzích Windows a aplikací pro ně určených. Tuto možnost nabízejí ale i volně dostupné styly.

Pokud připravujete velké kolekce dokumentů, které pak chcete zpřístupnit na CD-ROMu, můžete využít další speciální modul do Epicu. Ten umí vzít zadané docbookové dokumenty, převést je do HTML a vygenerovat podklady pro CD-ROM disk včetně instalačního programu a fulltextového prohledávače.

Možnosti generování různých výstupů je možné rozšířit nasazením E3 serveru, který umí v reálném čase převádět dokumenty do různých formátů podle požadavku jednotlivých uživatelů.

Import a export

Většina dokumentů je dnes bohužel vytvářena ve wordovém formátu DOC. Při přechodu na XML technologie je proto velice důležitá možnost importu stávajících dokumentů. Epic Editor v sobě standardně obsahuje asi nejlepší nástroj pro import DOC souborů, s jakým jsem se dosud setkal.

Import wordových dokumentů se řídí speciálním mapovacím souborem, který definuje, jak se jednotlivé styly převedou na XML elementy. Nejedná se přitom o prosté mapování 1:1, při definici pravidel pro styl můžeme používat podmíněné zpracování, dotazy na již vygenerovanou část dokument apod. Dokument používající důsledně možnosti stylů se tak bez problémů naimportuje celý zcela automaticky.

Editor obsahuje mapovací soubor pro převod z Wordu do rozšířené verze DocBooku. Jediný problém je v tom, že mapovací soubor má styly odstavců v angličtině. Český Word však používá české názvy. V tomto případě musíme jména stylů v mapovacím souboru přejmenovat, aby je importní filtr správně rozpoznal.

Obrázek 6. Interchange Map Editor umožňuje poměrně snadno definovat pravidla pro import/export z/do Wordu.

Epic nabízí i možnost exportu do Wordu. Na rozdíl od importu se však při exportu české znaky poškodí nebo zcela vypadnou. Kromě formátu Wordu je podporován i formát MIF (používá ho editor FrameMaker od Adobe). Importovat lze i obyčejné textové soubory, automaticky lze libovolný dokument exportovat do HTML.

Import a export do Wordu umožňuje práci ve dvou režimech. V prvním režimu nepotřebujeme mít nainstalovaný Word. V tomto případě je používán formát Wordu 6. Pokud bychom chtěli import/export do novějších verzí, musíme mít Word nainstalovaný, protože jej Epic při převodu používá. V tomto režimu máme při importu možnost rovnou pro každý neznámý styl vytvořit mapovací pravidlo. Na několika prvních dokumentech vychytáme všechny použité styly a konverze pak probíhá víceméně automaticky.

Podpora češtiny

Pod podporou češtiny si můžeme představit několik různých věcí. Nejdůležitější z nich je samozřejmě možnost vstupu a zpracování českých znaků. S tím nemá Epic sebemenší problém. Editor interně pracuje s Unicodem. Jak vidíte na obrázku, je možné v jednom dokumentu míchat skutečně různé znaky (v tomto případě latinku, azbuku a japonské písmo).

Při čtení a ukládání souborů můžeme pro české dokumenty použít například kódování UTF-8 a ISO 8859-2. Kódování windows-1250 není podporováno.

Epic obsahuje české vzory dělení slov, které se uplatní při formátování dokumentu pro tisk. V porovnání s ostatními XML editory je podpora češtiny velice slušná a pro většinu uživatelů dostačující. Co však chybí je český korektor překlepů a tezaurus. Ty se dodávají v několika jazycích, ale čeština mezi nimi není. Mezi jazyky pro uživatelské rozhraní čeština bohužel rovněž nepatří.

Dokumentace

V krabici s celkem zdařilým designem kromě instalačních CD-ROMů nalezneme i čtyři poměrně útlé příručky, které popisují instalaci a konfiguraci, základy práce s programem zvlášť pro autory a administrátory a popis novinek. Podrobná dokumentace ke všem funkcím editoru, k FOSI stylům, ke konfiguraci editoru apod. je dostupná pouze jako on-line nápověda ve formátu HTML Help. Je velice kvalitní, a kvůli jejímu objemu je opodstatněná absence papírové verze.

Shrnutí

Epic je špičkový XML editor. Český uživatel mu může vytknout snad jen absenci korektoru překlepů a podpory kódování windows-1250. Širšímu rozšíření Epicu však brání jeho cena. Za jednu licenci zaplatíte téměř 700 EUR. Pokud budete chtít v editoru používat vlastní DTD, téměř se neobejdete bez Epic Architectu, který stojí necelých 5000 EUR. Není proto překvapivé, že Epic se zatím používá především ve velkých firmách pro tvorbu technické dokumentace.

Tabulka 1. Hodnocení

Jednou větou:Špičkový WYSIWYG editor pracující s SGML/XML dokumenty.
+rozšiřitelnost a modifikovatelnost uživatelského rozhraní
+import z Wordu
+zabudovaná podpora formátu DocBook
-cena
-chybí český korektor překlepů
Platforma:Windows a Solaris
Cena:695 EUR
Web:http://www.arbortext.com/Products/Epic/epic.html

Proč vytvářet dokumenty v XML?

Jestli jste pečlivě nesledovali seriál o XML, který vycházel v loňském roce v SWN, možná vám uniká, proč byste měli psát dokumenty v nějakém formátu XML. Jeho velkou výhodou je otevřenost – všechny dokumenty jsou textové soubory, kde je samotná textová informace doplněna značkami určujícími význam informací. Dokument se tak v některých ohledech podobá databázi, kde jsou jednotlivé informace přesně rozškatulkovány do relačních tabulek a položek. V XML můžeme zapisovat libovolné dokumenty a pracovat s nimi podobně jako se strukturovanými databázovými daty – prohledávat je, filtrovat, přeuspořádávat atd.

Pro psaní dopisů se XML příliš nehodí, ale pro psaní dokumentace je to výborný nástroj. XML dokument snadno zkonvertujete do mnoha dalších formátů – např. do HTML, PDF nebo RTF. Chcete-li ve vaší firmě úspěšně zavést knowledge management, nezbude vám nic jiného než důležité dokumenty vytvářet v XML a klíčové informace v nich označit. Jinak už je nikdy nenajdete.

Ve Wordu XML dokument pohodlně nepřipravíte. Psaní XML v Notepadu je cesta vhodná jen pro pár nadšenců a vývojářů. Všichni ostatní mohou použít WYSIWYG XML editor – na první pohled se podobá Wordu, ale dokumenty se pěkně ukládají do XML.

Pokud si chcete znalosti XML doplnit, seriál o XML je dostupný i na Webu – http://www.kosek.cz/clanky/swn-xml/.

© Jiří Kosek 2002