Kniha je nejpoužívanější a díky své variabilní struktuře by měla vyhovovat všem požadavkům. Kniha se zpravidla skládá z těchto částí:
jsou uzavřeny v elementu bookinfo
a obsahují obecné informace
o knize.
Rozsáhlejší knihy se zpravidla dělí do několika částí (part
)
dělí knihu na úrovni kapitol. Patří sem předmluva (preface
),
jednotlivé kapitoly (chapter
), přílohy (appendix
), slovníček (glossary
), seznam bibliografických citací (bibliography
), věnování (dedication
) a tiráž
(colophon
).
Kniha zpravidla obsahuje obsah (toc
), seznamy tabulek, obrázků
příkladů (lot
) a rejstřík.(index
). Naštěstí tyto
komponenty umí generovat XSL šablona a proto je nemusíme vytvářet ručně.
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.3//EN" "http://www.oasis-open.org/docbook/xml/4.3/docbookx.dtd"> <book lang="cs"> <bookinfo> <title>Kniha</title> <author><firstname>Jméno</firstname><surname>Příjmení</surname></author> <copyright><year>2005</year></copyright> </bookinfo> <preface><title>Předmluva</title> ... </preface> <chapter><title>První kapitola</title> </chapter> <chapter><title>Druhá kapitola</title> </chapter> <appendix> ... </appendix> <index> ... </index> </book>
Metainformace můžeme přidělit většině komponent (kapitoly, sekce) a se zapisují do elementu,
který začíná názvem komponenty a má příponu info
. Tedy např. partinfo
,
chapterinfo
, sectioninfo
a bookinfo
.
Element bookinfo
může obsahovat celou řadu informací o komponentě. Záleží jen na
nás, které budeme chtít využít. Obvykle je přítomen element title
, což je název.
Příležitostně můžeme uvést i podnázev do elementu subtitle
. Pro jméno autora existuje
element author
. Datum publikace uvedeme do značky pubdate
.
<author> <honorific>Bc</honorific> <firstname>Martin</firstname> <surname>Ptáček</surname> </author>
Autorů může být i více, v tom případě se sloučí pomocí elementu
authorgroup
. Dále se nám můžou hodit elementy pubdate
obsahující datum publikování dokumentu, copyright
či
edition
s číslem vydání dokumentu.
Metainformace ještě mohou obsahovat abstrakt (abstract
), seznam klíčových slov
(keywordset
) a historií revizí dokumentu (revhistory
).
<abstract> <para>Toto je abstrakt...</para> </abstract> <keywordset> <keyword>images</keyword> <keyword>illustrations</keyword> </keywordset> <revhistory> <revision> <revnumber>0.91</revnumber> <date>11 Dec 1996</date> <authorinitials>ndw</authorinitials> <revremark>Bug fixes</revremark> </revision> <revision> <revnumber>0.90</revnumber> <date>30 Nov 1996</date> <authorinitials>ndw</authorinitials> <revremark>First beta release</revremark> </revision> </revhistory>
Možnosti jsou samozřejmě ještě větší, v jejich v seznam i význam je podrobně uveden v
dokumentaci. Hledejte např. seznam dětských elementů pro chapterinfo
.
Existují komponenty, které člení knihu do logických celků. Typická kniha obsahuje předmluvu,
jež se uzavírá do elementu preface
.
Rozsáhlé knihy pak můžeme na nejvyšší úrovni dělit do do částí (part
). Název
každé části je opět uvozen značkou title
. Při sazbě PDF je tento titulek umístěn
samostatně na stránku. V případě potřeby pod něj můžeme napsat krátký text, uvozující obsah dané
části. K tomu nám slouží značka partintro
. Použití částí v knize je volitelné, nemusí
tam být žádná.
Značka chapter
pak uvozuje kapitolu knihy. Zpravidla u nich uvádíme titulek
(title
) a každá kapitola může opět obsahovat metainformace, tentokráte uzavřené do
elementu chapterinfo
. V knize je vyžadována přítomnost alespoň jedné kapitoly.
<preface> <title>Předmluva</title> <para>Text předmluvy...</para> </preface> <part> <title>První část</title> <partintro>Tato část se zabývá ...</partintro> <chapter> <title>První kapitola</title> <para>V knize je vyžadována minimálně jedna kapitola</para </chapter> </part> <part> <title>Druhá část část</title> ... </part>
Kapitoly hlouběji dělíme do sekcí (section
). Tento element je rekurzivní a sekce
lze tedy zanořovat do dalších sekcí až do libovolné úrovně. Sekce opět mohou obsahovat titulek
(title
), podtitulek (subtitle
) a případně metainformace. Pokud chceme
použít sekci, která nebude dále dělena, lze to explicitně uvést elementem
simplesect
.
<section> <sectioninfo> <abstract><para>Abstrakt</para></abstract> </sectioninfo> <title>Sekce 1</title> <subtitle>Podtitulek sekce 1</subtitle> <para>Text sekce 1.</para> <section> <title>Vnořená sekce 2</title> <para>Text sekce 2.</para> </section> </section>
Sekce lze také zanořovat elementy sect1-sect5
, které přímo definují úroveň
zanoření. Při jejich vkládání nesmíme přeskočit některou úroveň v hierarchii.
Víte jaký může nastat problém s vkládáním sekcí pomocí sect1-sect5
?
Při vkládání těchto značek máme k dispozici pouze pět úrovní, další již nemůžeme přidat.
Pokud bychom také v budoucnu chtěli sekce prohodit, museli bychom čísla značek přepisovat.
Vhodnější je proto používat neomezující značku section
u které omezení pořadí
není.
Pokud potřebujeme někde uvést oddělující nečíslovaný nadpis, slouží k tomu značka
bridgehead
.
<sect1> <title>Nejvyšší úroveň</title> <para>Text</para> <bridgehead>Jenom nadpis</bridgehead> <para>Další odstavec</para> <sect2> <title>Vnořená sekce</title> <para>Text vnořené sekce</para> </sect2> </sect1>
Kniha může obsahovat věnování (dedication
) a tiráž
(colophon
). Na konec také často uvádíme přílohy
(appendix
).
<book lang="cs"> <colophon> <para>Tiráž knihy...</para> </colophon> <dedication> <para>Věnování...</para> </dedication> <chapter> <title>Kapitola</title> <para>Text kapitoly...</para> </chapter> <appendix> <title>Příloha 1</title> <para>Text přílohy.</para> </appendix> <appendix> <title>Příloha 2</title> <para>Text přílohy.</para> </appendix> </book>
Příloh můžeme k dokumentu připojit libovolný počet. Každá příloha je uvozena do samostatného elementu, může obsahovat titulek a v podstatě se chová jako běžná kapitola.