Seznamů je v DocBooku opět několik. Každý má trošku jiný způsob použití. Všechny lze samozřejmě do sebe libovolně zanořovat, jen je třeba dbát na jejich správné uzavírání.
itemizedlist | Běžný seznam s odrážkami. |
orderedlist | Číslovaný seznam. |
variablelist | Seznam pojmů a definic jejich významu. |
calloutlist | Seznam popisů k výpisu kódu. |
glosslist | Seznam slovníkových pojmů. Slovníčky zpravidla generujeme automaticky. |
simplelist | Seznam slov nebo frází. |
segmentedlist | Seznam elementů uvozených nadpisem. |
Seznamy itemizedlist
a variablelist
mají stejnou syntaxi. Jejich
jednotlivé položky se uvozují elementem listitem
a text v něm navíc musí být obalen elementem para
.
<itemizedlist mark="opencircle"> <listitem><para>První položka</para></listitem> <listitem override='bullet'><para>Druhá položka</para></listitem> <listitem><para>Třetí položka</para> </listitem> </itemizedlist> <orderedlist numeration="lowerroman"> <listitem><para>Jedna</para></listitem> <listitem><para>Dvě</para></listitem> <listitem><para>Tři</para></listitem> </orderedlist>
U seznamu itemizedlist
si všimněte atributů mark
a
override
. Ty uvozují symbol před položkou seznamu. Mohou nabývat hodnot
opencircle
(prázdné kolečko), bullet
(plné kolečko) a box
(čtvereček). Zatímco atribut mark
náleží k elementu itemizedlist
a
definuje odrážky pro všechny položky, atributem override
lze změnit symbol před
konkrétními odrážkami.
V číslovaném seznamu orderedlist
zase uvozujeme způsob číslování atributem
numeration
. Ten může nabývat hodnot arabic
(arabské číslice),
loweralpha
(malá písmena), upperalpha
(velká písmena),
lowerroman
(malé římské číslice), upperroman
(velké římské
číslice).
Pokud ani jeden z těchto atributů neuvedeme, použijí se pro odrážky nebo číslování implicitní hodnoty.
Tento seznam je vhodný pro vysvětlování pojmů. Pracuje tak, že vždy vysází pojem a
pod něj odsazeně jeho význam. Položku seznamu musíme uvést do
elementuvarlistentry
a skládá se ze dvou prvků - pojmu (term
) a
významu daného pojmu který uzavřeme mezi známou konstrukci
<listitem><para>vyznam</para></listitem>
. Pojmů můžeme uvést i
více najednou.Seznam může mít volitelně titulek.
<variablelist><title>Font Filename Extensions</title> <varlistentry> <term><filename>TTF</filename></term> <listitem><para>TrueType fonts.</para></listitem> </varlistentry> <varlistentry> <term><filename>PFA</filename></term> <term><filename>PFB</filename></term> <listitem><para>PostScript fonts.</para></listitem> </varlistentry> </variablelist>
Pokud nechceme aby význam pojmu byl uveden až pod daným pojmem, ale vedle něj, můžeme to
provést vložením procesní instrukce XML
<?dbhtml list-presentation="table"?>
, která zaručí že seznam
bude XSL styly chápán jako tabulka a významy budou uvedeny hned vedle pojmů.
Podobně můžeme pomocí <?dbfo term-width="2cm"?>
určit
šířku sloupce s pojmem (v tomto případě na 2cm).
<variablelist> <?dbhtml list-presentation="table"?> <?dbfo term-width="2cm"?> <title>Font Filename Extensions</title> <varlistentry> <term><filename>TTF</filename></term> <listitem><para>TrueType fonts.</para></listitem> </varlistentry> </variablelist>
Jednoduchý seznam simplelist
je vhodný pro uvádění výčtů. Každou
položku seznamu uzavřeme do elementu member
. Výhodou tohoto seznamu je to,
že jej snadno můžeme zobrazit inline do řádku i klasicky pod sebe.
Za tímto účelem je zaveden atribut type
elementu simplelist
.
Ten může nabývat hodnot horiz
(horizontální seznam), inline
(inline zobrazení) a nebo vert
(vertikální seznam). U vertikálního a
horizontálního seznamu lze atributem columns
uvést počet sloupců do kterého
se seznam rozloží.
<para> <simplelist type='horiz' columns='3'> <member>A</member> <member>B</member> <member>C</member> </simplelist> </simplelist> </para>
Vyzkoušejte si jakým způsobem se rozloží seznam simplelist
složený z
prvků A, B, C, D, E, F, G, který bude formátován inline, horizontálně se třemi sloupci a
vertikálně se třemi sloupci.
Segmentovaný seznam dovoluje vypisovat položky spolu s titulky, označujícími jejich
význam. Titulek uzavíráme do elementu segtitle
, vlastní položky pak do
seglistitem
s tím, že tento element dělíme na části spadající pod jednotlivé
titulky elementem seg
.
<segmentedlist><title>State Capitals</title> <?dbhtml list-presentation="list"?> <segtitle>State</segtitle> <segtitle>Capital</segtitle> <seglistitem><seg>Alabama</seg><seg>Montgomery</seg></seglistitem> <seglistitem><seg>Alaska</seg><seg>Anchorage</seg></seglistitem> <seglistitem><seg>Arkansas</seg><seg>Little Rock</seg></seglistitem> </segmentedlist>
Bude vysázen jako
Pokud změníme procesní instrukci na <?dbhtml list-presentation="table"?>
bude
seznam vysázen takto:
State | Capital |
---|---|
Alabama | Montgomery |
Alaska | Anchorage |
Tato změna vzhledu se netýká dokumentů PDF, je viditelná pouze v HTML.