Několik otázek a odpovědí na téma DocBook

Otakar Čerba

Materiál je určený pro výuku studentů oboru Geomatika na Západočeské univerzitě. Dále je dokument určený pouze pro osobní potřebu. Jakékoliv jiné použití (další šíření, pořizování kopií, použití při školeních nebo při výuce, apod.) je možné pouze se souhlasem autora (tento souhlas Vám rád dám, jen chci mít přehled o používání dokumentů). Jinak je používání výslovně zakázáno a bude považováno za porušení autorských práv.

25.4.2005

Abstrakt

Tento krátký článek seznámí čtenáře s aplikací DocBook, s jejími výhodami a se základy používání DocBooku při psaní seminárních, bakalářských nebo diplomových prací.


Obsah

Co je to DocBook?
Kdy DocBook vznikl?
V jakých programech mohu dokumenty v DocBook vytvářet a prohlížet?
Jaký je princip práce s DocBookem?
Do jakých formátů lze DocBook převádět?
Jak funguje transformace DocBook dokumentů?
Jaké jsou výhody DocBooku?
Má DocBook nějaké nedostatky?
Jaký je hlavní přínos DocBooku?
Jak se s DocBookem pracuje?
Jak lze kontrolovat dokumenty v DocBooku?
Kde lze najít informace o DocBooku na internetu?
A. Příloha

Co je to DocBook?

Na tuto jednoduchou otázku xistuje několik odpovědí.

DocBook je systémem pro zápis a výměnu dokumenace.

DocBook je hojně používán k vytváření nejrůznější technické dokumentace, například k tvorbě dokumentace k velkému množství softwarových produktů – Linux, FreeBSD, PHP, uživatelská rozhraní Linuxu KDE, Gnome, PostgreSQL… DocBook používají například firmy Sun[1] a Novell a známé nakladatelství O’Reilly, které se na vývoji DocBooku od počátku podílelo.

DocBook je aplikací SGML/XML (Standard Generalized Markup Language / eXtensible Markup Language).

DocBook je dokonce druhou nejpoužívanější aplikací z této skupiny hned po HTML (HyperText Markup Language).

DocBook je DTD (Document Type Defenition).

Jinými slovy je DocBook seznamem elementů, atributů a pravidel jejich užívání (syntaxe dokumentu). K dispozici je verze pro XML a také varianta pro SGML.

Kromě již zastaralého, ale stále nejpoužívanějšího DTD je DocBook přepsán i do dalších formátů určených pro popis dokumentu (tyto jazyky umožňují definovat výčet a pravidla elementů, atributů a dalších součástí dokumentů):

Kdy DocBook vznikl?

První verze DocBooku spatřila světlo světa v roce 1991, tedy několik let před vznikem XML, na kterém je dnes založena. V počátcích byl DocBook určen především pro výměnu unixové dokumentace a vytvořen na principech SGML, což dodnes dokládá používání DSSSL (Document Style Semantics and Specification Language[3]) pro některé transfomační procesy. DSSSL je jazyk určený právě pro práci se SGML dokumenty. Počátky DocBooku jsou spojeny s nakladatelstvím O'Reilly, firmou HaL Computers a sdružením Davenport, které zajišťovalo další vývoj a údržbu formátu. Na vývoji se dále podílely firmy Novell, Digital, Hewlett-Packard, SCO, Fujitsu a další.

Od roku 1998 je DocBook vyvíjen na základě XML, přičemž tato verze dnes převažuje jak u uživatelů tak u vývojářů.

V roce 1999 začalo DocBook spravovat sdružení OASIS. Na www stránkách sdružení OASIS je k dispozici nejnovější verze DocBooku 4.4 pro XML i pro SGML (od 27.1.2005).

V jakých programech mohu dokumenty v DocBook vytvářet a prohlížet?

Na tuto otázku existuje „šalamounská” odpověď – ve všech a zároveň téměř v žádném.

Jelikož XML, a podobně také SGML, je značkovací jazyk, pro jehož zápis se používá běžného textu ve formátu ASCII (American Standard Code for Information Interchange), můžeme dokumenty v DocBooku zapisovat a tedy i prohlížet v jakémkoli software, které dokáže pracovat s textem. Využít můžeme nejjednodušších textových editorů (např. NotePad v Microsoft Windows), speciálních programátorských editorů, které obvykle umožňují pohodlnější vkládání tagů, kontrolu a zvýranění syntaxe (např. JEdit, PSPad, TextPad, Emacs s balíčkem PSGML apod.), ale také sofistikovaných WYSIWYG (What You See Is What You Get) XML editorů (např. XMLmind XML Editor nebo Epic).

Díky zápisu ve formě ASCII textu se při používání nemusíme omezovat ani na konkrétní operační systém nebo platformu.

Na druhou stranu je třeba poznamenat ve výše i níže uvedeném software lze vidět pouze dokument zapsaný v DocBooku, tedy systém jednotlivých do sebe vnořených elementů a jejich atributů. Tento text je sice čitelný, ale pro běžného uživatele téměř nepoužitelný.

Výjimkou jsou WYSIWYG editory, ale tam se různé typy písma používají pro snažší orientaci v dokumentu a nikoliv jako konečné zobrazení dokumentu.

Poznámka

Autor používá pro práci s XML (nejčastěji se jedná o XML, XSLT, DocBook a XHTML) JEdit, PSPad, XMLmind XML Editor a NotePad++.

Jaký je princip práce s DocBookem?

Důležité

DocBook zobrazuje pouze obsah dokumentu členěný do logických elementů, ale nikoli pravidla jakým způsobem se má dokument vizualizovat.

Psaní dokumentace v DocBooku má naprosto odlišnou filozofii od běžných textových editorů. Při editaci DocBook dokumentů není možné použít žádný z následujících úkonů, na které jsou běžní uživatelé zvyklí:

  • volba různých velikostí, zbarvení a typů písma pro různé části textu.

  • nastavení okrajů stránky.

  • vložení prázdných řádek mezi odstavce.

  • zalomení stránky nebo sloupce.

  • další operace spojené s prezentací obsahu dokumentu.

Navíc vytváření hierarchie dokumentu v běžných textových editorech a při používání DocBooku je naprosto opačné.

  • V textovém editoru většinou postupujeme tak, že nejprve určíme pro konkrétní pasáž textu vzualizační pravidla, např. velikost a typ písma, podtržení, zvýraznění, ukončení řádky apod. Na základě těchto vizualizačních pravidel usuzujeme, že se jedná o nadpis.

  • V DocBooku vytvoříme element typu nadpis, pro který následně určíme vizualizační pravidla.

Vizualizační pravidla nejsou součástí vlastního dokumentu, ale jsou obsaženy v samostatných souborech (stylech), které se k vlastnímu dokumentu připojují. Výsledný dokument zapsaný v DocBooku se tedy pomocí stylů převádí do některého z běžně užívaných formátů.

Do jakých formátů lze DocBook převádět?

Výhodou DocBooku je možnost generování výstupu pro různá média - tištěný výstup, www stránky, nápověda k programu. Pro každý typ média existuje několik výstupních formátů:

  • HTML (dokument může tvořit jednu HTML stránku, ale také soubor vzájemně provázaných HTML stránek, což je vhodné zejména u rozsáhlých dokumentů členěných na kapitoly).

  • XHTML (eXtensible HyperText Markup Language).

  • RTF (Rich Text Format).

  • PDF (Portable Document Format).

  • Postscript.

  • čistý text.

  • FrameMaker MIF.

  • Microsoft HTML Help.

  • JavaHelp.

  • TeX, TeXinfo.

  • Unix man pages.

  • nápověda pro open-source vývojové prostředí Eclipse.

Jak funguje transformace DocBook dokumentů?

Transformace dokumentů patří mezi velké výhody DocBooku. Proces převodu dokumentů ilustruje následující obrázek.

Obrázek 1. Transformace dokumentů v DocBooku

Transformace dokumentů v DocBooku

To, jak se přetransformují jednotlivé elementy, určují styly zapsané v nějakém stylovém jazyku. V současnosti se používá především následující čtveřice stylových jazyků:

XSL (XML Style Language)

Dnes zřejmě nejperspektivnější stylový jazyk, který, jak vyplývá z názvu, byl vytvořen speciálně pro práci s XML dokumenty. XSL zároveň dodržuje syntaxi XML dokumentů. Jazyk XSL se skládá ze dvou podmnožin XSLT (eXtensible Stylesheet Language Transformations) a XSL-FO (eXtensible Stylesheet Language Formating Objects).

DSSSL

Jazyk byl vytvořený původně pro SGML. Dnes je jeho používání na ústupu. Pro práci s DSSSL v současnosti existují pouze dvě aplikace, jejichž vývoj ovšem buď nepokračuje nebo stagnuje. DSSSL styly se v současnosti používají především pro převod do formátu RTF, FrameMaker nebo TeX.

CSS (Cascading Style Sheets)

Velice jednoduchý stylový jazyk, jehož vlastnosti jsou pro převod složitějších dokumentů nedostatečné. Používá se především pro ovlivňování vizualizačních vlastností HTML dokumentů.

FOSI (Formatting Output Specification Instance)

Nejméně používaný stylový jazyk, který se víceméně vyskytuje pouze v komerčních aplikacích.

XSL a DSSSL styly jsou pro transformaci DocBook dokumentů k dispozici volně na Internetu. Navíc přizpůsobení stylů konkrétním podmínkám a požadavkům uživatele je také poměrně snadné, neboť u nejpoužívanějších stylových jazyků se jedná také o aplikace XML/SGML.

Pro přeformátování dokumentů pomocí stylových jazyků se používají stylové procesory. Pro práci s DSSSL je k dispozici program Jade nebo OpenJade, v nichž pro generování dokumentů ve formátu TeX existuje balík maker JadeTeX.

Jestliže budeme zpracovávat dokumenty pomocí XSL stylů je nejvýhodnější použít XSLT procesor Saxon. Jinou možností jsou programy msxml, xsltproc, XT a Xalan.

Pro převod do formátu TeX a PDF jsou nutné tzv. FO procesory, které zpracovávají formátovací objekty vytvořené XSLT procsory. Mezi nejznámější patří PassiveTeX, který ještě vyžaduje instalaci TeXu. Dále jsou k dispozici volně šiřitelný program FOP, komerční XEP nebo Antenna House.

Jaké jsou výhody DocBooku?

Nezávislost na platformě

Jelikož je dokument v XML zapsán pouze ve formě ASCII textu, je možné DocBook používat s libovolným operačním systémem. Také většina aplikací je zapsaná v jazyku Java.

Komfortní práce s textem

DocBook (resp. jeho transformační styly) dokáže automaticky generovat obsah, rejstříky, odkazy, navigační lišty apod. Při převodu do formátu HTML Help je k dispozici také fultextové vyhledávání v textu.

Cena

Docbook je poskytován zdarma. Volně jsou také k dispozici styly pro transformaci dokumentů do jiných formátů. Na Internetu se také nachází velké množství studijních materiálů a příkladů. Finančně náročnější jsou pouze kvalitní komerční editory a FO procesory.

Validace

Jako u každého XML dokumentu, existuje i pro DocBook automatická kontrola synaktické správnosti dokumentu (validace). K této kontrole slouží programy zvané parsery. K nejznámějším patří nsgmls, Xerces, MSXML nebo xmllint.

Modularita

Pomocí entit lze výsledný dokument skládat z několika dílčích textů. Proto není potřeba do několika různých textů přepisovat nebo vkládat pasáž, která se stále opakuje (například hlavička firmy, některé metainformace, autorská práva k dokumentu apod.). Pro takové texty je výhodné jejich umístění do samostatného souboru, který bude pomocí odkazu (entity) připojen k hlavnímu dokumentu.

Modularitu lze využít i při sestavování rozsáhlých dokumentů, kdy editace v jednom souboru by mohla být komplikovaná a nepřehledná. Například jednotlivé kapitoly knihy mohou tvořit samostatné soubory.

Profilace

Existuje velké množství dokumentů, které se liší pouze v některých detailech. Příkladem může být dokumentace k software určenému pro několik operačních systémů. DocBook umožňuje pomocí atributů označení konkrétních pasáží textu, které potom budou generovány jen pro určitou cílovou skupinu uživatelů.

Vkládání obrázků

Obrázky se vkládají pomocí odkazu na příslušný soubor. Předností DocBooku je možnost vložení více variant obrázku (např. obrázek ve formě rastru a vektoru), přičemž jejich použití na konkrétním výstupu závisí na vhodnosti pro dané médium.

Možnost tvorby slidů

Existují upravené verze DocBooku, která je vhodná pro vytváření prezentací. Jedná se například o DocBook dbslide nebo o DocBook slides (informace na stránkách N.Walshe). Prezentace lze vytvářet v přímo v programu XMLmind XML Editor.

Má DocBook nějaké nedostatky?

DocBook samozřejmě není bez chyby a především není vhodný pro všechny typy dokumentů a uživatelů. Základní nedostatky a způsoby ostranění nebo alespoň eliminování ukazuje následující seznam.

Složitá instalace a konfigurace systému

Vlastní DocBook není třeba instalovat. Stačí pouze na volné místo na pevném disku zkopírovat příslušné soubory. Na počítači takémusí být nainstalována Java. Problém pro méně zkušené uživatele může představovat natavení systémových proměnných a cest k některým souborům. Na druhou stranu je třba poznamenat, že existuje ovšem velké množství dokumentace. A pro české uživatele operačního sysému Windows existuje předpřipravené instalační soubory od Jiřího Koska, které kromě jiného obsahují DTD, XSL, DSSSL, editor Emacs a samozřemě také podrobný návod.

Nezvyklý zápis dokumentů

Pro některé uživatele, zvyklé na komfortní prostředí jiných textových editorů, může být používání DocBooku poměrně složité, především zápis dokumentů. V tomto případě jsou řešením WYSIWYG editory (XMLmind XML Editor, Epic, XMetaL, epcEdit, FrameMaker, EditiX).

WYSIWYG editory

Pro uživatele zvyklé na WYSIWYG editory je problémem jejich cena, případně dostupnost. Většina WYSIWYG patří do skupiny komečního sofware. Výjimkou je XMLmind XML Editor, jehož standardní verze je pro osobní použití zdarma. Tento program je napsaný v jazyce Java, proto je k dispozici pro většinu operačních systémů. V operačním systému Linux pracuje editor epcEdit. Jedna z verzí editoru Epic je určena pro operační systém Solaris.

Poslední dobou je podpora DocBooku přidávána i do některých textových procesorů - LyX, AbiWord nebo OpenOffice. Tyto programy jsou využívány většinou pouze pro převod z jiných formátů do DocBooku, přičemž kvalita transformačního procesu není zatím příliš vysoká.

FO procesory

Procesory formátovacích objektů patří většinou do skupiny komerčních aplikací (XEP, Antenna House). Vývoj open-source FO procesorů (FOP) je zatím na počátku, proto formátování některých složitějších struktur zatím není ideální. Proti používání Passive TeXu hovoří poměrně složitá instalace a nutnost používání TeXu.

Jaký je hlavní přínos DocBooku?

Hlavní přínos DocBooku je tvorba sémantických dokumentů. Celý dokument je rozdělený do logických segmentů, které jsou do sebe vnořeny. Například element kapitola může obsahovat další elementy, které mohou být součástí kapitoly, například nadpis, odstavce, podkapitoly apod. Díky tomuto členění jsou dokumenty dokonale logicky strukturované, přičemž právě tato přehledná struktura velice usnadňuje vyhledávání a formátování.

Celkově DocBook obsahuje asi 400 různých elementů. Při tvorbě běžných dokumentů se používá méně než 100 nejběžnějších elementů. Kromě základní varianty existuje i zjednodušená verze - Simplified DocBook.

Dalším důležitým znakem DocBooku je přítomnost velkého množství metainformačních elementů a atributů. Příkladem mohou být informace o autorovi, vzniku dokumentu, jazyku dokumentu, průběhu revizí a podobně.

Jak se s DocBookem pracuje?

Jelikož XML patří mezi značkovací jazyky, zapisujeme dokumenty v DocBooku podobně jako v HTML. Proto pro zápis dokumentů platí stejná pravidla jako pro jakýkoli XML soubor. Dokument může obsahovat pouze tyto prvky:

Elementy

Dokument zapsaný v DocBooku se skládá ze systému do sebe vzájemně vnořených elementů. Pro jejich používání jsou stanovena následující pravidla:

  1. Element se skládá z obsahu a značek, které určují počátek a konec elementu.

    Obrázek 2. Elementy v XML

    Elementy v XML
  2. Každý neprázdný element musí být ohraničený počátečním a koncovým tagem (počáteční a koncovou značkou).

    • Tagy jsou ohraničeny špičatými závorkami – <para>[4].

    • Koncový tag se liší od počátečního znakem / před názvem tagu – <para> = počáteční tag; – </para> = koncový tag.

  3. Jestliže element nemá žádný obsah, pak lze použít zkrácený zápis - místo <inlinegraphics src="obrazek.png"> </iinlinegraphics> můžeme napsat <inlinegraphics src="obrazek.png" />[5].

  4. Nesmí docházet ke křížení elementů. V následujícím příkladu je první řádek chybný a další správný.

    <title>[6]Titulek<para>Text odstavce</title></para>

    <title>Titulek</title><para>Text odstavce</para>

  5. Celý XML dokument je uzařený v jediném tzv. kořenovém elementu. V případě DocBooku je kořenový element shodný s typem dokumentu.

    • článek <article>

    • kniha <book>

    • FAQ (Frequently Asked Questions, nejčastěji kladené otázky) <qandaset>

    • referenční stránky <refentry>

    Z hlediska dalšího zpracování dokumentu je vhodné doplnění kořenového elementu o atribut specifikující použitý jazyk. Jestliže použijeme češtinu pro typ dokumentu kniha, pak bude kořenový element vypadat následujícím způsobem - <book lang="cs">. Pokud bychom definici jazyka nepoužili, v textu by se místo slova kapitola objevilo slovo chapter apod.

  6. V DocBooku se rozlišují dva základní typy elementů.

    • inline elementy - jsou vložený přímo do odstavce textu a před nimi ani po nich nedochází k zalomení odstavce. Například odkazy, název funkce, jméno souboru, parametry metody, e-mail, položka menu, SGML tag, jméno autora. Právě velké množství nejrůznějších inline elementů patří mezi největší výhody DocBooku.

    • blokové elementy - tvoří samostatný blok textu. Základním blokovým elementem je odstavec. Dále do této skupiny patří poznámky, knihy, sekce knih, kapitoly, podkapitoly, sekce, příklady, rejstříky, předmluvy, abstrakty, dedikace, obrázky, rovnice, tabulky, seznamy, přílohy, bibliografie a další.

Atributy

Atributy se přidávají k elementům jako upřesňující informace. Příkladem může být element <inlinegraphics src="obrazek.png" />, který obsahuje atribut src="obrazek.png" udávající umístění obrázku. Zápis atributu se skládá z jména, znaménka = a hodnoty atributu, která musí být uzavřená do uvozovek nebo apostrofů. Jeden element může obsahovat větší množství atributů, které se od sebe oddělují mezerami.

Entity

V XML obecně rozlišujeme tři typy entit - interní, externí a znakové.

  • Interní entity se používají v případě, kdy se v textu vyskytuje větší množství stejného textu. Potom není nutné celý text několikrát přepisovat, ale můžeme ho nahradit interní entitou. Například entitou &zcu; můžeme nahradit text Západočeská univerzita v Plzni.

    <!ENTITY zcu "Západočeská univerzita v Plzni">

  • Externí entity jsou výhodné při rozdělování dlouhých dokumentů do několika souborů (například podle kapitol). Pak můžeme soubor připoit k základnímu dokumentu pomocí entity.

    <!ENTITY kapitola1 SYSTEM "prvni_kapitola.xml">

    Na místo, kam chceme obsah souboru vložit, stačí zapsat &kapitola1;.

  • Pomocí znakových entit se zapisují znaky, které jsou rezervovány například pro zápis tagů nebo se běžně nevyskytují na klávesnici. Příkladem může být znak <, který zapíšeme jako &lt; znak & lze zapsat jako &amp; nebo znak © zapíšeme jako &copy;. Pomocí znakových entit můžeme také ošetřit problémy, které vzniknou při používání uvozovek nebo apostrofů uvnitř hodnot atributů. Informace o znakových entitách jsou k dispozici na internetu.

Komentáře

Komentáře se zapisují podle standardů XML, tedy mezi znaky <!-- a -->.

<!-- Komentář -->

Komentáře nesmí obsahovat sekvenci dvou znaků --. Také nelze umístit komentář mezi ostatní značkování - například nelze zakomentovat atribut uvnitř elementu. Uvnitř komentáře se ovšem mohou nacházet celé elementy.

Sekce CDATA

Sekce CDATA se používá v případě, kdy chceme do textu vložit delší pasáž, která obsahuje větší množství znaků, které je nutné zapsat pomocí znakových entit. Jedná se například o vložené kódy programů, zdrojový text HTML, XML, SVG, GML apod. Pro zápis se používá konstrukce <![CDATA[vložený text]]>, která může obsahovat ibovolný text kromě posloupnosti znaků ]]>.

Hlavičku

<?xml version="1.0" encoding="windows-1250" standalone="no"?>

První atribut označuje verzi XML - v sočasnosti se používá verze 1.0.

Druhý atribut se týká použitého kódování v dokumentu. Atribut není povinný, jestliže nebude uvedený automaticky se předpokládá, že dokument je zapsaný v kódování utf-8.

Parametr standalone určuje zda dokument může spolupracovat s jinými dokumenty. Dopourčuje se nastavit na hodnotu no (defaultní hodnota, povolení spolupráce s jinými dokumenty).

Instrukce pro zpracování

Instrukce pro zpracování (processing instructions) mají stejný tvar jako hlavička dokumentu. Zapisují se mezi znaky <? a ?>. Text instrukce nesmí obsahovat sekvenci znaků ?>. Obsah instrukce není zpracován parserem a je předán externí aplikaci. Jako instrukce pro zpacování se zapisují například odkazy na stylové jazyky nebo funkce skriptovacích jazyků.

Jak lze kontrolovat dokumenty v DocBooku?

Předem tohoto odstavce je nutné uvést, že se jedná především o správnost syntaktickou, nikoli o správnost obsahovou nebo jazykovou.

Jestliže dokument splňuje všechna syntaktická pravidlo, označujeme ho jako správně strukturovaný (well-formed). S takovými dokumenty dokáží pracovat všechny aplikace podporující XML (případně SGML).

Pro kontrolu dokumentu lze použít programy nazývané parsery. Tyto programy dokáží kontrolovat XML oproti nějakému jazyku určenému pro popis schématu dokumentu. Odkaz na soubor s popisem dokumentu se uvádí za hlavičku XML souboru. Příklad ilustruje odkaz na DTD článku v DocBooku.

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

Většina kvalitních editorů obsahuje vestavěné parsery nebo alespoň propojení na externí parsery. Mezi nejznámější parsery patří programy nsgmls, xmllint nebo parser od firmy Microsoft. Pokud dokument projde kontrolou parseru, bývá označován jako validní.

Kde lze najít informace o DocBooku na internetu?

  1. Poznámky autora

    • Odkazy jsou sestaveny abecedně, nicméně doporučuji začínat stránkami J.Koska.

    • Některé články mohou obsahovat chyby, za bernou minci berte pouze specifikaci příslušné verze DocBooku na stránkách sdružení OASIS.

    • Zahraniční odkazy jsem zredukoval pouze na anglicky psané materiály. Pokud vládnete i jinými jazyky, podívejte se na příslušný odkaz na Wikipedii.

    • V seznamu software jsou pouze produkty, které jsou alespoň částečně volně použitelné.

    • Pokud víte o nějakých stránkách, které v seznamu chybí, napište prosím autorovi.

  2. České a slovenské odkazy

  3. Zahraniční odkazy

  4. Software

  5. Konference

A. Příloha

Zápis částí tohoto článku v DocBooku:

<?xml version="1.0" encoding="windows-1250"?>

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"

"http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd">

<article id="article">

<articleinfo>

<title>Několik otázek a odpovědí na téma DocBook</title>

<authorgroup><author><firstname>Otakar</firstname><surname>Čerba</surname>

<affiliation><address><email>ota.cerba@seznam.cz</email></address></affiliation></author></authorgroup>

<abstract><para>Tento krátký článek seznámí čtenáře s aplikací DocBook, s jejími výhodami a se základy používání DocBooku při psaní seminárních, bakalářských nebo diplomových prací.</para></abstract>

</articleinfo>

<sect1><title>Co je to DocBook</title>

<para><emphasis role="bold">DocBook</emphasis> je druhou nejpoužívanější aplikací SGML<footnote><para>Standard Generalized Markup Language</para></footnote> / XML<footnote><para>eXtensible Markup Language</para></footnote> hned po HTML<footnote><para>Hypertext Markup Language</para></footnote>. Vznikl v roce 1991 a v první řadě byl určen pro výměnu unixové dokumentace. V současnosti je na stránkách sdružení OASIS, které DocBook spravuje, k dispozici verze 4.2.</para>

<para>Vlastní DocBook je vlastně DTD<footnote><para>Document Type Definition, definice typu dokumentu</para></footnote>. To znamená, že definuje syntaxi dokumentu, tedy elementy a jejich atributy, které můžeme v dokumentu používat.</para>

</sect1>

<sect1><title>Jak přetransformovat dokument v DocBooku</title>

<para>Základní schéma transformace znázorňuje následující obrázek:</para>

<figure float="0"><title>Transformace dokumentů v DocBooku</title>

<mediaobject><imageobject><imagedata fileref="obrazek.bmp" format="BMP" scalefit="1" /></imageobject></mediaobject></figure>

<para>U dokumentů v XML můžeme zkontrolovat správnost jeho syntaktické struktury (validity). K tomu slouží programy zvané parsery. K nejznámějším patří <ulink url="http://www.jclark.com">nsgmls</ulink>, <ulink url="http://xml.apache.org/index.html">Xerces</ulink>, <ulink url="http://msdn.microsoft.com/downloads">MSXML</ulink> nebo xmllint.</para>

<para>Pokud chceme dokument v DocBooku zobrazit, musíme ho ho převést do jiného formátu. To, jak se přetransformují jednotlivé elementy, určují stylové jazyky. V současnosti se používá především následující čtveřice stylových jazyků:

<itemizedlist>

<listitem><para>XSL - v současnosti nejperspektivnější stylový jazyk. Jak vyplývá z názvu, jedná o speciální stylový jazyk pro převod dokumentů v XML.</para></listitem>

<listitem><para>DSSSL - jazyk původně určený pro SGML, jsou k dispozici volně šířitelné styly pro DocBook. Dnes je tento jazyk na ústupu.</para></listitem>

</itemizedlist></para>

</sect1>

<sect1><title>Kde získat DocBook a informace o něm</title>

<table frame='all'><title>Odkazy na DocBook</title>

<tgroup cols='1' align='left' colsep='1' rowsep='1'>

<colspec colname='c1' />

<tbody>

<row><entry><ulink url="http://badame.vse.cz/jkj/dbinst.zip">předpřipravená instalace pro Windows</ulink></entry></row>

<row><entry><ulink url="http://www.docbook.org">oficiální dokumentace</ulink></entry></row>

<row><entry><ulink url="http://docbook.sourceforge.net">styly pro formátování dokumentů</ulink></entry></row>

</tbody></tgroup></table>

</sect1>

<bibliography lang='cs'>

<biblioentry>

<abbrev>KO</abbrev>

<authorgroup>

<author><firstname>Jiří</firstname><surname>Kosek</surname></author>

</authorgroup>

<title><ulink url="http://www.kosek.cz/xml/db/index.html">DocBook: Stručný úvod do tvorby a zpracování dokumentu</ulink></title>

</biblioentry>

<biblioentry>

<abbrev>WM</abbrev>

<authorgroup>

<author><firstname>Norman</firstname><surname>Walsh</surname></author>

<author><firstname>Leonard</firstname><surname>Muellner</surname></author>

</authorgroup>

<title><ulink url="http://www.docbook.org/tdg/">DocBook: The Definitive Guide</ulink></title>

</biblioentry>

</bibliography>

<appendix><title>Příloha</title>

<para>Zápis částí tohoto článku v DocBooku:</para>

</appendix>

</article>



[1] Pro zápis dokumentace používá podmnožinu DocBooku nazvanou SolBook.

[2] Speciální jazyk na bázi RELAX NG, o kterém se uvažuje pro verzi 5.x.

[3] V češtině se DSSSL vyslovuje většinou jako „dýzl” styly.

[4] Element <para> označuje odstavec.

[5] Element <inlinegraphics> označuje grafický prvek umístěný nikoli v bloku, ale v řádce.

[6] Element <title> označuje titulek nebo nadpis.