Obsah
Papírové knihy jsou krásné, ale nehodí se pro všechny oblasti použití. Pro mnoho aplikací je potřeba kromě vytištěné verze nějakého dokumentu získat i jeho elektronickou podobu. Ať už pro publikování na webu, na CD-ROMu nebo v intranetu. Na samotné přípravě tiskovin se počítače dnes podílejí ve velkém měřítku. Velká většina dnes produkovaných knih a časopisů je připravována na počítačích v DTP systémech. Ty nabízejí bohaté možnosti pro práci s grafikou a s formátováním dokumentu, ale obvykle nenabízejí vhodné nástroje pro vytvoření elektronických verzí dokumentů.
Stejné a mnohé další problémy musíme řešit při přípravě dokumentace. Následující seznam shrnuje dnes obvyklé požadavky na dokumentaci:
generovat dokumentaci v mnoha formátech z jedné předlohy
tištěná podoba (PostScript, PDF)
on-line nápověda (HTMLHelp, info, JavaHelp)
webová podoba dokumentace (HTML stránky)
plně využít schopnosti jednotlivých výstupních formátů (obsah, rejstřík, odkazy, fulltext apod.)
podporovat časté změny v dokumentech
technologie se rychle vyvíjejí
proces generování jednotlivých výstupních formátů by měl být plně automatizován
V současné době existuje na trhu několik proprietárních systémů, které jsou schopné více či méně tyto požadavky splnit. Kromě použití již hotových a do jisté míry neflexibilních nástrojů můžeme použít pro tvorbu dokumentů formát XML. Nebudeme tak svázáni s nějakým proprietárním systémem a získáme větší možnosti, které mohou být zejména do začátku vykoupeny složitější a náročnější konfigurací celého systému pro tvorbu dokumentace.
Použít pro elektronické publikování řešení založené na XML se vyplatí zejména v následujících případech:
Potřebujeme mít výsledný dokument k dispozici v několika formátech (tištěný, Web, CD-ROM, nápověda v programu apod.). XML popisuje dokumenty na sémantické úrovni, ne na vizuální – konverze je velice snadná.
Produkujeme rozsáhlé dokumenty – technická dokumentace, vědecké sborníky, dokumentace k programům, slovníky, encyklopedie apod. Proprietární systémy mají často limit na maximální velikost produkovaných dokumentů, nebo začínají být při práci na větších dokumentech nestabilní.
Produkujeme velké množství dokumentů, i když ty nemusí být nutně velké – redakce časopisů, zpravodajské agentury, legislativa, technická podpora. Dokumenty však mají předem danou strukturu, které se musíme držet.
Pokud budeme dokumenty ukládat do XML, získáme tím především možnost je snadno publikovat v několika odlišných formátech, což se dnes stává téměř nezbytností.
Systémy pro elektronické publikování mohou vypadat různě, ale většinou mají společné alespoň základní rysy. Celý proces přípravy dokumentů a jejich zpracování probíhá ve třech poměrně oddělených fázích. První fáze spočívá v editování a vytváření samotných dokumentů ve formátu XML. Při této fázi autoři píši knihy, články, dokumentaci apod. Vytvářené dokumenty jsou upravovány editory a korektory, schvalovány pro publikování nadřízenými pracovníky apod. Hotové dokumenty pak mohou vstoupit do publikační fáze. V této fázi se z dokumentů generují potřebné výstupní formáty. Dokumenty obsahující technickou dokumentaci mají většinou přesně daný formát a neobsahují zbytečné umělecké a grafické prvky, lze je tedy většinou formátovat a převádět zcela automaticky. To přináší obrovské úspory peněz a času. Automatizovaný proces generování výstupních formátů umožňuje častou a snadnou aktualizaci dokumentů, což je v době, kdy se software vyvíjí až moc rychle velice důležitá vlastnost.
V některých aplikacích pak může v úvahu připadat ještě prohledávání databáze dokumentů. To se uplatní v případech, kdy potřebujeme vyvolat již existující dokumenty, používat jejich části apod, zjišťovat rozdíly mezi jednotlivými verzemi apod.
Obrázek 1.1. Naše dokumenty a data jsou při elektronickém publikování to nejcennější, proto se vše „točí” okolo nich
Jádrem většiny systémů podporujících elektronické publikování je systém pro správu dokumentů. V nejjednodušších verzích může jít o nějaký sdílený disk, kam mají přístup všichni oprávnění uživatelé. Mnohem lepší je však použití specializovaných programů, které dokumenty ukládají do speciální databáze. Přístup k dokumentům pak může být velice dobře kontrolován, systém eviduje změny provedené jednotlivými uživateli a může zajišťovat i funkce pro work-flow dokumentů – před tím, než je dokument považován za finální, jej například musí schválit zodpovědná osoba.
Se systémem pro správu dokumentů (DMS) pak spolupracují editory, ve kterých jednotliví autoři vytvářejí a upravují dokumenty. Při publikování jsou z DMS získány potřebné dokumenty a převedeny do výsledných formátů.
Během školení se žádným DMS nebudeme zabývat, nicméně je dobré vědět, že takové programy existují. Pokud nemáme peněz nazbyt, můžeme plnohodnotný DMS nahradit alespoň nějakým systémem pro správu verzí jako je CVS nebo Subversion.
DocBook je dnes asi druhá nejpoužívanější aplikace SGML/XML, hned za jazykem HTML. DocBook vznikl v roce 1991 jako formát založený na SGML, určený především pro výměnu unixové dokumentace. U jeho zrodu stála firma HaL Computers a nakladatelství O'Reilly. O vývoj a údržbu formátu se staralo sdružení Davenport. V 90. letech DocBook používalo mnoho velkých firem, které se podílely i na jeho vývoji (např. Novell, Digital, Hewlett-Packard, SCO, Fujitsu).
V roce 1999 se péče o DocBook přesunula pod hlavičku sdružení OASIS. Aktuální verze DocBooku nese číslo označení 4.5 a existuje ve dvou verzích pro SGML i pro XML. My se během školení budeme zabývat XML verzí.
DocBook se vyvinul do podoby systému, který se hodí zejména pro tvorbu počítačové dokumentace. Bez problému ho však lze použít pro zápis libovolných knih a článků. V DocBooku je například vytvořen i tento text, dokumentace k mnoha programům je vytvářena rovněž v DocBooku – např. k operačním systémům Linux a FreeBSD, ke skriptovacímu jazyku PHP, ke grafickým rozhraním KDE a Gnome. DocBook používají i velká počítačová nakladatelství jako O'Reilly nebo velké softwarové firmy (např. Sun pro tvorbu dokumentace používá podmnožinu DocBook pojmenovanou SolBook).
DocBook obsahuje elementy, které umožňují členit dokumenty do kapitol, podkapitol atd. Kromě toho máme k dispozici mnoho elementů, jimiž můžeme označit názvy programů, souborů, parametry příkazů, výpisy programů, obrázky, snímky obrazovky, klávesové zkratky, položky nabídek apod. Získáme tak velice dobře označkovaný dokument, který se dobře převádí do dalších formátů.
Výhodou DocBooku je, že mnoho editorů a nástrojů pro práci s XML v sobě přímo zahrnuje jeho podporu. Stačí program spustit a můžeme v DocBooku začít psát. Volně k dispozici jsou XSL a DSSSL styly, které lze použít pro formátování dokumentů v DocBooku. Z našich dokumentů tak můžeme snadno vytvořit např. HTML stránky, soubor s nápovědou, dokument v RTF, v PDF nebo v PostScriptu.
Samotný DocBook není nic jiného než DTD, které definuje jaké elementy a atributy můžeme v dokumentech používat. Toto DTD se neustále vyvíjí, aby reflektovalo nově vznikající požadavky. Změny v tomto DTD, které nejsou zpětně kompatibilní, se ohlašují alespoň o jednu hlavní verzi dopředu. Další verze DocBooku jako 5.0, 6.0 apod. mohou přinést nekompatibilní změny, pro verzi 5.0 jsou již všechny tyto změny známé. Revize uvnitř hlavních verzí (3.1, 4.2 apod.) jsou vždy zcela zpětně kompatibilní s hlavní verzí. S poměrně velkým předstihem se můžeme připravit na budoucí změny. Jedinou výjimkou v tomto postupu je verze 5.0, která bude místo DTD primárně založena na RELAX NG, ze kterého se budou generovat ostatní formáty schémat (DTD, WXS).
Aktuální informace o DocBooku lze nalézt na stránkách OASIS – http://www.oasis-open.org/docbook/. Kromě aktuálních DTD tu jsou beta-verze budoucích verzí DTD, různá rozšíření a zprávy výboru, který se stará o vývoj DocBooku. Volně dostupné styly pro formátování docbookových dokumentů lze získat na adrese http://docbook.sourceforge.net. Oficiální dokumentace k DocBooku je k dispozici na adrese http://www.docbook.org.