Óda na Docbook (Ako vytvoriť elektronickú knižnicu)

Autor: Zlatý fond denníka SME | 23.5.2008 o 15:30 | Karma článku: 11,09 | Prečítané:  4880x

Dnes píše Tomáš Ulej Microsoft Word, Open Office, HTML, PDF, HTML Help - Aj vám lezie na nervy vytvárať tie isté dokumenty viackrát len preto, že každý obľubuje iný formát? Ako sa zbaviť formátovej závislosti a vytvárať elektronické knihy, články, dokumenty, manuály jednotne, "otvorene" a pritom jednoducho?

Docbook všetko vyrieši

Každý kto aspoň chvíľu pracoval s dokumentami vie, aké je ťažké na serveri dynamicky generovať PDF s funkčnou diakritikou, alebo zabezpečiť konverziu z jedného formátu - napríklad RTF napríklad na HTML, alebo ODT.

V Zlatom fonde denníka SME sme minulý rok museli riešiť závažnú dilemu: ako produkovať stovky kníh v najrôznejších formátoch (Microsoft Word, Open Office, HTML, PDF ap.) a pritom prácu robiť čo najmenej ručne, pri všetkých knihách evidovať množstvo bibliografických údajov a pri každej, čo i len malej zmene v dokumente, neopakovať opäť rutinu ručnej tvorby všetkých dokumentov. Ako postaviť jeden jediný zdrojový dokument a nechať náš systém, aby všetko ostatné urobil za nás?

Vďaka Ronymu sa odpoveď pre nás našla rýchlo: Docbook. Jeden XML súbor a z neho všetky formáty, o ktorých ste snívali. Množstvo nástrojov na správu, jednoduchá implementácia do vášho systému. A vo vatikánskej mene, lebo najlepšie veci sú vždy zadarmo.

Z vďaky k open-source komunite (najmä Normanovi Walshovi a v našich končinách najmä Jirkovi Kosekovi), ktorá vytvorila niečo také fantastické a pre poučenie tých, ktorí túto technológiu doteraz nepoznali rovnako ako kedysi my, uverejňujeme tu drobný návod, ako Docbook funguje a čo všetko ponúka.

Jeden XML a už nič viac

Celá krása Docbooku je v tom, že vytvoríte jeden XML súbor, v ktorom určíte všetko čo potrebujete: od toho kto je autorom knihy, článku, až po poznámky pod čiarou, kľúčové slová, ktorá na konci knihy chcete vypísať, alebo tabuľky, obrázky. Čokoľvek. A dokument bude dobre vyzerať dobre tak vo Worde, PDF ako aj v HTML.

Klasická Hello World ukážka Docbook XML súboru:

Veľmi primitívny ukážkový dokument

<?xml version="1.0" encoding="UTF-8"?>
 <book id="simple_book" xmlns="http://docbook.org/ns/docbook"
version="5.0">

   <title>Very simple book</title>
   <chapter id="kapitola_1">
     <title>Kapitola 1</title>

     <para>Vitaj svet!</para>
        </chapter>

   <chapter id="kapitola_2">
     <title>Kapitola 2</title>
     <para>Vitaj, svet! Opäť.</para>

   </chapter>
 </book>

Nemá zmysel na tomto mieste vysvetľovať ako sa vytvára tučné písmo, poznámky pod čiarou, alebo tabuľka. Všetko dôležité v zrozumiteľnom a dobre čítavom jazyku nájdete v bezplatnej elektronickej knižke Jiřího Koseka Docbook - Stručný úvod do tvorby a zpracování dokumentů.

Ak chcete vidieť ako vyzerajú dokumenty u nás v Zlatom fonde, pozrite sa napríklad na XML dokument k dielu Statky-zmätky Jozefa Gregora Tajovského.

Samozrejme, existujú aj ľahšie spôsoby ako si Docbook vytvoriť, aj bez znalosti jazyka XML - my odporúčame Xmlmind XML Editor, ktorý je v osekanej verzii zadarmo, alebo úžasný oXygen XML Editor, ktorý je kombináciou WYSIWYG a ingeligentného písania kódu, no treba zaň platiť

Generovanie súborov

Keď máme XML, chceme vygenerovať súbory. Tu máme opäť dve možnosti, alebo sa vykašleme na ručnú robotu a použijeme niektorý z nástrojov vyššie, ktoré okrem krásneho písania dokumentov umožňujú ich uloženie priamo v RTF, PDF, HTML a podobne (dobré použiteľná je bezplatná utilita XMLmind XSL-FO Converter), alebo využijeme bezplatné nástroje a všetky operácie budeme ovládať z príkazového riadka.

Tu je niekoľko rád k druhej možnosti. V prvom rade potrebujeme tzv. XSL štýly - to sú dokumenty, v ktorých je predpis ako budú naše dokumenty vyzerať. Stiahnite si ich odtiaľto a vložte napríklad do adresára c:/docbook/xsl

Teraz si stiahneme niekoľko aplikácii. Vložte si ich do adresára c:/docbook, nemusíte pre každú vytvárať vlastný adresár, môžu ísť spolu - nepobijú sa.

Teraz sa už môžeme dať do generovania súborov. Pri každej ukážke predpokladám, že sa nachádzame v priečinku c:/docbook a v ňom sú umiestnené súbory, tak ako spomínam vyššie. Zároveň sa tu nachádza aj dokument kniha.xml, ktorý chceme konvertovať.

HTML

xsltproc -o kniha.html xsl/html/docbook.xsl kniha.xml

FO - medzikrok k RTF a PDF

xsltproc -o kniha.fo xsl/fo/docbook.xsl kniha.xml

RTF

fo2rtf kniha.fo kniha.rtf

WML

fo2wml kniha.fo kniha.wml

ODT

fo2odt kniha.fo kniha.odt

PDF

fop -fo kniha.fo -pdf kniha.pdf -c conf/myfop.xconf

TXT

lynx -dump kniha.html > kniha.txt -nolist

Z docbooku možno získať aj ďalšie formáty - napríklad HTML Help, alebo MAN stránky. V prípade, že ste programátor, pre Docbook si dokonca môžete napísať aj vlastný štýl, ktorý z Docbooku urobí ďalší formát súboru. Návod na ďalšie výstupné formáty nájdete napríklad tu.

Ako má dokument vyzerať

Ak vám nevyhovuje ako dokumenty teraz vyzerajú, môžete sa s nimi vyhrať - úpravou pôvodných XSL štýlov. Písmo, okraje, hlavičky, pätičky, obrázky v pozadí, alebo veľkosť hárka, či čokoľvek iné - všetko sa dá výborne upraviť.

Stručný návod ako na to ponúka aj Jiří Kosek, no najobsiahlejšiu príručku ponúka v bezplatnej knihe Bob Stayton - XSL - Complete Guide

Na záver

Docbook je tu roky a niekedy sa naň zabúda. Zvážte, či vo vašej firme nepotrebujete lepšie riešenie ako písať manuály vo Worde a potom ich pregenerovávať do iných formátov. Zvážte, či práve nenastal čas zbaviť sa formátového Babylonu a začať tvoriť dokumenty lepšie.

Páčil sa Vám tento článok? Pridajte si blogera medzi obľúbených a my Vám pošleme email keď napíše ďalší článok
Pridaj k obľúbeným

Hlavné správy

DOMOV

Remiášova vražda sa ešte dá vyšetriť. Pomôcť musia mafiáni

Polícia minulý rok obnovila vyšetrovanie Remiášovej vraždy, pretože vyšli najavo nové skutočnosti. Ani po roku zatiaľ nikoho neobvinila.

DOMOV

Anna Remiášová pri pomníku syna: Nikdy to nevzdám

Výročie vraždy si prišli k jeho pamätníku pripomenúť aj študenti.

KOMENTÁRE

Kažimír bude musieť siahnuť pod vankúš, aby naplnil Ficove sľuby

Bez zásahu do rozpočtu to nepôjde.


Už ste čítali?