9.1. Filozofie a princip DocBooku

ikona
Poznámka:

Oficiální dokumentaci k DocBooku [Wal-04] ve formátu HTML je možné získat z adresy http://www.docbook.org/tdg/en/. Obsahuje základy DocBooku ale především podrobný popis všech elementů včetně příkladů. Doporučujeme souběžně s naší příručkou prohlížet dokumentaci k jednotlivým uvedeným elementům, kde se dozvíte více podrobností.

Při práci v DocBooku jednoznačně vidíme klasický pohled na dokument ve smyslu oddělení jeho struktury od vzhledu. DocBook přesně definuje logické úseky dokumentu, tedy to co má dokument obsahovat a jak má být členěn, nedefinuje však jak má dokument vypadat. Strukturu dokumentu nám poskytuje DocBook DTD. Jeho vzhled pak získáme za pomoci některého stylového jazyka.

Stylové jazyky

Pro nás budou zajímavé pouze XSL styly. Rozdělujeme je do dvou skupin. Jednak jsou to XSLT, které slouží pro transformaci XML dokumentu do XML, HTML nebo čistého textu. Dále to jsou XSL FO (formátovací objekty), které se používají pro transformaci do formátu pro tištěný výstup (PostScript, PDF). Pro každé se používají jiné nástroje, podrobněji si tuto problematiku přiblížíme v dalším textu.

Princip DocBooku

Samotný dokument napsaný DocBooku tedy není nic jiného než XML dokument, který různými elementy označuje strukturu textu. Jak ale z tohoto dokumentu vyrobíme formát „čitelný lidmi“? Budeme k tomu potřebovat jednak XSL šablony a jednak program, který z našeho XML dokumentu za pomoci vybrané XSL šablony vygeneruje nějaký výstupní formát (pro nás bude stěžejní zejména generování formátu HTML a PDF, lze však generovat celou řadu dalších).

Takový program se jmenuje XSLT procesor a několik jich je volně k dispozici. Procesor umí zpravidla provádět validaci dokumentu, ale především jeho transformace pomocí XSL. Vlastní proces transformace dokumentu pak vypadá takto:

Průběh generování formátu HTML

Obrázek 9.1. Průběh generování formátu HTML

Procesor vezme XML dokument definující obsah a strukturu dokumentu, XSLT styl se vzhledem a zpracuje je do výsledného HTML dokumentu. Vzhled tohoto HTML dokumentu je možno dále upravovovat editací kaskádových stylů CSS, jež jsou u něj přiloženy.

Průběh generování formátu PDF

Obrázek 9.2. Průběh generování formátu PDF

Při generování PDF je spojen XML dokument s XSL FO styly a vznikne jeden FO dokument, který definuje strukturu i vzhled pomocí FO formátovacích objektů. Z něj je následně pomocí FO procesoru vygenerován výsledný formát PDF.

Přesný postup generování výstupních formátů je popsán v kapitole 9.3 – „Generování výstupních formátů“.