Kapitola 4. Ukázky nejpoužívanějších docbookových konstrukcí

Obsah

4.1. Psaní knih a kapitol
4.2. Psaní článků
4.3. Referenční stránky
4.4. FAQ
4.5. Vkládání obrázků
4.6. Tabulky
4.7. Seznamy
4.8. Odkazy
4.9. Popis třídy, rozhraní, funkce apod.
4.10. Komentované výpisy kódu
4.11. Seznamy literatury
4.12. Nejběžnější inline elementy

Nyní si na příkladě typických dokumentů ukážeme použití nejběžnějších docbookových elementů.

4.1. Psaní knih a kapitol

Základní členění knihy do kapitol jsme již probrali. Zajímavé možnosti nabízí element bookinfo, do kterého lze zapsat mnoho metainformací o knize.

Příklad 4.1. Ukázka knihy a vložených metainformací – kniha.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE book PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
               'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<book lang="cs">
  <bookinfo>
    <title>První pokusná kniha</title>
    <subtitle>Uživatelská příručka</subtitle>
    <authorgroup>
      <author>
        <firstname>Jiří</firstname>
        <surname>Kosek</surname>
        <affiliation>
          <orgname>nezávislý publicista</orgname>
          <address><email>jirka@kosek.cz</email></address>
        </affiliation>
      </author>
      <author>
        <honorific>Ing</honorific>
        <firstname>Jan</firstname>
        <surname>Novák</surname>
        <affiliation>
          <orgname>Nějaká firma, a.s.</orgname>
          <address><street>Dlouhá 10</street>
<city>Praha 1</city>  <postcode>110 11</postcode></address>
        </affiliation>
      </author>
    </authorgroup>
    <publisher>
      <publishername>První vydavatelská</publishername>
    </publisher>
    <copyright>
      <year>2001</year>
      <holder>První vydavatelská</holder>
    </copyright>
    <releaseinfo>První veřejná verze příručky.</releaseinfo>
  </bookinfo>
  <preface>
    <title>Úvod</title>
    <para>Odstavec textu.</para>
    <para>...</para>
  </preface>
  <chapter>
    <title>První kapitola</title>
    <para>Text první kapitoly</para>
    <para>...</para>
  </chapter>
  <chapter>
    <title>Druhá kapitola</title>
    <para>Text druhé kapitoly</para>
    <para>...</para>
  </chapter>
  <appendix>
    <title>První příloha</title>
    <para>Text přílohy</para>
    <para>...</para>
  </appendix>
  <appendix>
    <title>Druhá příloha</title>
    <para>Text přílohy</para>
    <para>...</para>
  </appendix>
</book>

Podobné metainformace můžeme přidávat i k jednotlivým kapitolám a dalším komponentám dokumentů.

Příklad 4.2. Ukázka kapitoly a vložených metainformací – kapitola.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE book PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
               'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<book lang="cs">
  <bookinfo>
    <title>První pokusná kniha</title>
    <subtitle>Uživatelská příručka</subtitle>
    <author>
      <firstname>Jiří</firstname>
      <surname>Kosek</surname>
    </author>
    <copyright>
      <year>2001</year>
      <holder>První vydavatelská</holder>
    </copyright>
  </bookinfo>
  <preface>
    <title>Úvod</title>
    <para>Odstavec textu.</para>
    <para>...</para>
  </preface>
  <chapter>
    <title>První kapitola</title>
    <para>Text první kapitoly</para>
    <para>...</para>
  </chapter>
  <chapter>
    <chapterinfo>
      <title>Druhá kapitola</title>
      <author>
        <honorific>Ing</honorific>
        <firstname>Jan</firstname>
        <surname>Novák</surname>
        <affiliation>
          <orgname>Nějaká firma, a.s.</orgname>
          <address><street>Dlouhá 10</street>
<city>Praha 1</city>  <postcode>110 11</postcode></address>
        </affiliation>
      </author>
    </chapterinfo>
    <title>Druhá kapitola</title>
    <para>Text druhé kapitoly</para>
    <para>...</para>
  </chapter>
  <appendix>
    <title>První příloha</title>
    <para>Text přílohy</para>
    <para>...</para>
  </appendix>
  <appendix>
    <title>Druhá příloha</title>
    <para>Text přílohy</para>
    <para>...</para>
  </appendix>
</book>

4.2. Psaní článků

Uvnitř článku můžeme používat v podstatě stejné elementy jako uvnitř kapitol. Navíc může být článek doplněn abstraktem a přílohami. Metainformace o článku mohou obsahovat i takové údaje jako ISSN, ISBN nebo třeba informace o konferenci, kde byl článek prezentován.

Příklad 4.3. Ukázka článku – clanek.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
               'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<article lang="cs">
  <articleinfo>
    <title>Lehký úvod do XML</title>
    <author>
      <firstname>Jiří</firstname>
      <surname>Kosek</surname>
      <affiliation>
        <orgname>Vysoká škola ekonomická v&nbsp;Praze</orgname>
        <address>E-mail: <email>jirka@kosek.cz</email>
Web: <otheraddr><ulink url="http://www.kosek.cz">http://www.kosek.cz</ulink></otheraddr></address>
      </affiliation>
    </author>
    <confgroup>
      <confdates>15. až 18. února 2001</confdates>
      <conftitle>SLT 2001</conftitle>
      <confnum>2</confnum>
    </confgroup>
  </articleinfo>
  <abstract>
    <para>Příspěvek posluchače seznámí s&nbsp;jazykem XML, který
přináší mnoho revolučních změn do oblasti elektronického publikování,
výměny a sdílení dat a elektronického obchodu. Kromě základních
principů XML se příspěvek zmíní i&nbsp;o&nbsp;souvislosti
s&nbsp;dalšími navazujícími technologiemi (stylové jazyky, jazyky pro
definici struktury dokumentu, dotazovací jazyky, jazyky pro tvorbu
odkazů).</para>
  </abstract>
  <section>
    <title>Úvod</title>
    <para>Málokterá technologie se rozšířila tak rychle jako XML. Před
třemi lety o&nbsp;ní skoro nikdo nic nevěděl, a&nbsp;dnes se přitom
používá v&nbsp;mnoha aplikacích. Budeme-li se držet přesné definice
zjistíme, že XML (eXtensible Markup Language) je jednoduchý
rozšiřitelný značkovací jazyk. Co si pod touto definicí představíme
záleží zejména na naší fantazii. V&nbsp;následujícím příspěvku se
proto pokusím vysvětlit, co je to XML a k&nbsp;čemu se dá
použít.</para>
    <para>...</para>
  </section>
</article>

Název kořenového elementu se musí shodovat s názvem uvedeným v deklaraci typu dokumentu (<!DOCTYPE název ...>).

4.3. Referenční stránky

DocBook byl původně určen jako formát pro výměnu manuálových stránek, a proto není překvapující, že v sobě obsahuje elementy pro popis manuálových stránek a jiných referenčních přehledů. Ukázka použití těchto elementů je na následujícím příkladě.

Příklad 4.4. Ukázka reference – reference.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE reference PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
                    'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<reference>
  <title>Funkce pro práci s e-mailem</title>
  <titleabbrev>Mail</titleabbrev>
  <partintro>
    <para>Následující funkce umožňují pohodlnou práci s e-mailem.</para>
  </partintro>
  <refentry id="function.mail">
    <refnamediv>
      <refname>mail</refname>
      <refpurpose>Odeslání e-mailu</refpurpose>
    </refnamediv>
    <refsect1>
      <title>Popis</title>
      <funcsynopsis>
        <funcprototype>
          <funcdef>bool <function>mail</function></funcdef>
          <paramdef>string <parameter>to</parameter></paramdef>
          <paramdef>string <parameter>subject</parameter></paramdef>
          <paramdef>string <parameter>message</parameter></paramdef>
          <paramdef>string <parameter>additional_headers</parameter></paramdef>
        </funcprototype>
      </funcsynopsis>
      <para><function>Mail</function> automaticky odmailuje vzkaz
specifikovaný v <parameter>message</parameter> příjemci
specifikovanému v <parameter>to</parameter>. Přidáním čárky mezi
adresami v <parameter>to</parameter> můžete specifikovat více
příjemců.</para>
    </refsect1>
  </refentry>
  <refentry id="function.ezmlm-hash">
    <refnamediv>
      <refname>ezmlm_hash</refname>
      <refpurpose>Počítá hash hodnotu potřebnou pro EZMLM</refpurpose>
    </refnamediv>
    <refsect1>
      <title>Popis</title>
      <funcsynopsis>
        <funcprototype>
          <funcdef>int <function>ezmlm_hash</function></funcdef>
          <paramdef>string <parameter>addr</parameter></paramdef>
        </funcprototype>
      </funcsynopsis>
    </refsect1>
  </refentry>
</reference>

4.4. FAQ

Často potřebujeme do dokumentu zařadit seznam často kladených otázek a odpovědí. DocBook pro to nabízí několik speciálních elementů, celé FAQ se vždy uzavírá do elementu qandaset.

Příklad 4.5. Dokument s FAQ – faqukazka.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE article PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
                  'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<article lang="cs">
  <articleinfo>
    <title>PHP FAQ</title>
    <author>
      <firstname>Jirka</firstname>
      <surname>Kosek</surname>
      <affiliation>
        <address><email>kosek@vse.cz</email></address>
      </affiliation>
    </author>
  </articleinfo>
  <para><emphasis>V&nbsp;následujících odstavcích se pokusím
zodpovědět na nejčastější dotazy a problémy, se kterými se setkávají
především začínající uživatelé systému PHP. Vycházím přitom ze
skutečných dotazů, se kterými jsem setkal během výuky PHP a
v&nbsp;různých diskusních skupinách.</emphasis></para>
  <qandaset>
    <qandaentry>
      <question>
        <para>Nainstaloval jsem si úspěšně PHP42, ale skriptům se
nepředávají proměnné z&nbsp;formulářů.</para>
      </question>
      <answer>
        <para>Tento problém jste si způsobili sami snahou o&nbsp;co
nejvýkonnější server. Distribuce PHP4 pro Windows obsahuje dva
předpřipravené konfigurační soubory <filename>php.ini</filename>
&ndash; <filename>php.ini-dist</filename> a
<filename>php.ini-optimized</filename>. Většina uživatelů slepě sáhne
po druhém konfiguračním souboru. Ten však vypíná mnoho funkcí
interpretu PHP, aby maximálně urychlil jeho běh. Vypnuté je v&nbsp;něm
i načtení parametrů z&nbsp;formulářů do proměnných. Pro jeho zapnutí
stačí v <filename>php.ini</filename> správně nastavit hodnotu
direktivy <literal>register_globals</literal>:</para>
        <programlisting>register_globals = On</programlisting>
      </answer>
    </qandaentry>
    <qandaentry>
      <question>
        <label>Záludná otázka</label>
        <para>Ani předchozí krok nepomohl, stále se mi některé
proměnné z&nbsp;formulářů nepředávají.</para>
      </question>
      <answer>
        <label>Šalamounská odpověď</label>
        <para>Nejpravděpodobnější je varianta, že někdy
v&nbsp;minulosti jste si v&nbsp;prohlížeči uložili cookie se stejným
názvem jaký má proměnná. Při předávání proměnných skriptům mají
cookies standardně vyšší prioritu než proměnné z&nbsp;formulářů.
Řešením je buď přejmenovat proměnné, nebo si nepotřebné cookies
z&nbsp;prohlížeče vymazat.</para>
        <para>Pokud vaše aplikace používá cookies, vyplatí se používat
prohlížeč, který umožňuje snadné prohlížení a odstraňování
cookies. Takovým prohlížečem je například Mozilla, která získala
ocenění produkt roku. Zkuste v&nbsp;ní příkaz
<menuchoice><guimenu>Tasks</guimenu><guisubmenu>Privacy and Security</guisubmenu>
<guisubmenu>Cookie Manager</guisubmenu><guimenuitem>View Stored
Cookies</guimenuitem></menuchoice>.</para>
      </answer>
    </qandaentry>
  </qandaset>
</article>

Pokud máme delší seznam otázek a odpovědí, můžeme je pomocí qandadiv rozdělit na několik částí. Jedna položka FAQ může obsahovat libovolný počet odpovědí (i žádnou) na jednu otázku.

4.5. Vkládání obrázků

Pro vkládání obrázků je nejlepší používat elementy mediaobject a inlinemediaobject. Ve starších verzích DocBooku se používal element graphics a inlinegraphics. Výhodou mediaobjectu je možnost vložení obrázku do dokumentu v několika formátech – například ve vektorové a bitmapové podobě. Při formátování se pak automaticky použije ten obrázek, který nejvíce vyhovuje požadavkům generovaného výstupního formátu.

Příklad 4.6. Dokument s obrázky – obrazky.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
                  'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<chapter lang="cs">
  <title>Kapitola s obrázky</title>

  <mediaobject>
    <imageobject>
      <imagedata fileref="schema.eps" format="EPS" 
                 srccredit="Jiří Kosek, 2000"/>
    </imageobject>
    <imageobject>
      <imagedata fileref="schema.pdf"/>
    </imageobject>
    <imageobject>
      <imagedata fileref="schema.wmf" format="WMF"/>
    </imageobject>
    <imageobject>
      <imagedata fileref="schema.png" format="PNG"/>
    </imageobject>
    <textobject>
      <para>Schéma WAPu &ndash; delší text, pro který se generuje
      textový popis</para>
    </textobject>
    <textobject>
      <phrase>Schéma WAPu &ndash; krátké do atributu ALT</phrase>
    </textobject>
  </mediaobject>

  <figure>
    <title>Obrázek s popisem zvětšený na 200 % volného místa</title>
    <mediaobject>
      <imageobject>
        <imagedata fileref="schema.png" format="PNG" scale="200"/>
      </imageobject>
    </mediaobject>
  </figure>

  <figure>
    <title>Obrázek s popisem zmenšený na 25 % volného místa</title>
    <mediaobject>
      <imageobject>
        <imagedata fileref="schema.png" format="PNG" scale="25"/>
      </imageobject>
    </mediaobject>
  </figure>

  <figure>
    <title>Obrázek s popisem roztažený na šířku stránky</title>
    <mediaobject>
      <imageobject>
        <imagedata fileref="schema.png" format="PNG" width="100%"/>
      </imageobject>
    </mediaobject>
  </figure>

  <figure>
    <title>Obrázek s šířkou 4cm zarovnaný doprava</title>
    <mediaobject>
      <imageobject>
        <imagedata fileref="schema.png" format="PNG" 
                   width="4cm" align="right"/>
      </imageobject>
    </mediaobject>
  </figure>

  <figure>
    <title>Obrázek je podle potřeby proporcionálně zvětšen do plochy
    2 &times; 5 cm</title>
    <mediaobject>
      <imageobject>
        <imagedata width="2cm" depth="5cm" fileref="schema.png"
        format="PNG"/>
      </imageobject>
    </mediaobject>
  </figure>

  <figure>
    <title>Obrázek zmenšený na 50 % skutečné velikosti</title>
    <mediaobject>
      <imageobject>
        <imagedata contentwidth="50%" fileref="schema.png"
        format="PNG"/>
      </imageobject>
    </mediaobject>
  </figure>

  <figure>
    <title>Obrázek zobrazený jako 2 &times; 10 cm</title>
    <mediaobject>
      <imageobject>
        <imagedata contentwidth="2cm" contentdepth="10cm"
        fileref="schema.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </figure>

  <figure>
    <title>Obrázek se umístí do prostoru 8 &times; 8 cm
    a zmenší se na 1/2 původní velikosti</title>
    <mediaobject>
      <imageobject>
        <imagedata width="8cm" depth="8cm" scale="50"
        fileref="schema.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </figure>

  <figure>
    <title>Obrázek zobrazený ve své originální velikosti</title>
    <mediaobject>
      <imageobject>
        <imagedata contentwidth="100%" contentdepth="100%"
        fileref="schema.png" format="PNG"/>
      </imageobject>
    </mediaobject>
  </figure>

  <figure>
    <title>Obrázek postaru</title>
    <graphic fileref="schema.png" format="PNG"/>
  </figure>

  <para>Zařazení obrázku do odstavce <inlinemediaobject>
      <imageobject>
        <imagedata fileref="sipka.png"/>
      </imageobject>
      <textobject>
        <phrase>&rArr;</phrase>
      </textobject>
    </inlinemediaobject> a text pokračuje dál.</para>

</chapter>

Umístění a zpracování obrázků lze ovládat pomocí několika atributů. Jediný problém je v tom, že interpretování těchto atributů ve velké míře závisí na konkrétní aplikaci, která provádí formátování. Je dobré vyzkoušet, jaké formáty a jak podporují programy použité v našem systému.

V části věnované úpravám stylů se ještě podíváme na to, jak lze ovlivňovat automatický výběr jedné z variant obrázku, případně automaticky doplňovat příponu obrázku.

4.6. Tabulky

Tabulky se do docbookových dokumentů zapisují podobným způsobem jako v HTML. Tabulka se zapisuje po řádkách a jednotlivé řádky pak po buňkách zleva doprava. V současné době obsahuje DocBook pro zápis tabulek takzvaný CALS model, který je na poli SGML/XML de facto standard. DocBook 5.0 bude používat zjednodušenou verzi CALS [TableExchange]. Je proto lepší již dnes nepoužívat věci, které budou časem z DocBooku odstraněny. Následující příklady se omezují na použití elementů a atributů, které budou dostupné i v DocBooku 5.0.

Příklad 4.7. Ukázky tabulek – tabulky.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
                  'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<chapter lang="cs">
  <title>Kapitola s tabulkami</title>

  <table>
    <title>Pokusná tabulka</title>
    <tgroup cols="3">
      <colspec colwidth="4cm"/>
      <colspec colwidth="2cm"/>
      <colspec colwidth="10cm"/>
      <thead>
        <row>
          <entry>Výstupní formát</entry>
          <entry>Stylový jazyk</entry>
          <entry>Potřebné nástroje</entry>
        </row>
      </thead>
      <tbody>
        <row>
          <entry>jedna HTML stránka</entry>
          <entry>DSSSL</entry>
          <entry>Jade</entry>
        </row>
        <row>
          <entry>jedna HTML stránka</entry>
          <entry>XSL</entry>
          <entry>libovolný XSLT procesor</entry>
        </row>
        <row>
          <entry>sada HTML stránek</entry>
          <entry>DSSSL</entry>
          <entry>Jade</entry>
        </row>
        <row>
          <entry>sada HTML stránek</entry>
          <entry>XSL</entry>
          <entry>libovolný XSLT procesor</entry>
        </row>
        <row>
          <entry>RTF</entry>
          <entry>DSSSL</entry>
          <entry>Jade</entry>
        </row>
        <row>
          <entry>PDF</entry>
          <entry>DSSSL</entry>
          <entry>Jade+JadeTeX nebo Jade+Word+Distiller</entry>
        </row>
        <row>
          <entry>PDF</entry>
          <entry>XSL</entry>
          <entry>libovolný XSLT procesor + FO procesor (např. PassiveTeX)</entry>
        </row>
      </tbody>
    </tgroup>
  </table>

  <table>
    <title>Tabulka se sloučenými buňkami</title>
    <tgroup cols="3">
      <colspec colname="c1" align="left"/>
      <colspec colname="c2" align="char" char=","/>
      <colspec colname="c3" align="char" char=","/>
      <thead>
        <row>
          <entry morerows="1" align="center" valign="middle">Měsíc</entry>
          <entry namest="c2" nameend="c3" align="center">Prodej zboží</entry>
        </row>
        <row>
          <entry align="center">A</entry>
          <entry align="center">B</entry>
        </row>
      </thead>
      <tbody>
        <row>
          <entry>Leden</entry>
          <entry>865,54</entry>
          <entry>16,3</entry>
        </row>
        <row>
          <entry>Únor</entry>
          <entry>917,7</entry>
          <entry>8,1</entry>
        </row>
        <row>
          <entry>Březen</entry>
          <entry>1036,8</entry>
          <entry>18,9</entry>
        </row>
      </tbody>
    </tgroup>
  </table>

  <table>
    <title>Tabulka s rámečkem, ale bez linek mezi buňkami</title>
    <tgroup cols="3" colsep="0" rowsep="0">
      <colspec align="left"/>
      <colspec align="char" char=","/>
      <colspec align="char" char=","/>
      <tbody>
        <row>
          <entry>Leden</entry>
          <entry>865,54</entry>
          <entry>16,3</entry>
        </row>
        <row>
          <entry>Únor</entry>
          <entry>917,7</entry>
          <entry>8,1</entry>
        </row>
        <row>
          <entry>Březen</entry>
          <entry>1036,8</entry>
          <entry>18,9</entry>
        </row>
      </tbody>
    </tgroup>
  </table>

  <table frame="topbot">
    <title>Tabulka s linkou nahoře a dole</title>
    <tgroup cols="3" colsep="0" rowsep="0">
      <colspec align="left"/>
      <colspec align="char" char=","/>
      <colspec align="char" char=","/>
      <tbody>
        <row>
          <entry>Leden</entry>
          <entry>865,54</entry>
          <entry>16,3</entry>
        </row>
        <row>
          <entry>Únor</entry>
          <entry>917,7</entry>
          <entry>8,1</entry>
        </row>
        <row>
          <entry>Březen</entry>
          <entry>1036,8</entry>
          <entry>18,9</entry>
        </row>
      </tbody>
    </tgroup>
  </table>

  <table frame="topbot">
    <title>Tabulka s linkou nahoře, dole a mezi sloupci</title>
    <tgroup cols="3" colsep="1">
      <colspec align="left"/>
      <colspec align="char" char=","/>
      <colspec align="char" char=","/>
      <tbody>
        <row>
          <entry>Leden</entry>
          <entry>865,54</entry>
          <entry>16,3</entry>
        </row>
        <row>
          <entry>Únor</entry>
          <entry>917,7</entry>
          <entry>8,1</entry>
        </row>
        <row>
          <entry>Březen</entry>
          <entry>1036,8</entry>
          <entry>18,9</entry>
        </row>
      </tbody>
    </tgroup>
  </table>

  <para>Odstavec textu, za kterým bude tabulka bez nadpisu.</para>

  <informaltable>
    <tgroup cols="3">
      <colspec align="left"/>
      <colspec align="char" char=","/>
      <colspec align="char" char=","/>
      <tbody>
        <row>
          <entry>Leden</entry>
          <entry>865,54</entry>
          <entry>16,3</entry>
        </row>
        <row>
          <entry>Únor</entry>
          <entry>917,7</entry>
          <entry>8,1</entry>
        </row>
        <row>
          <entry>Březen</entry>
          <entry>1036,8</entry>
          <entry>18,9</entry>
        </row>
      </tbody>
    </tgroup>
  </informaltable>

</chapter>

Každá tabulka se musí skládat alespoň z jednoho elementu tgroup. Narozdíl od HTML musíme vždy povinně určit počet sloupců v atributu cols. Dovnitř tgroup se pak vkládají definice jednotlivých sloupců (colspec), záhlaví tabulky (thead) a tělo tabulky (tbody). Řádky se zapisují do elementu row a buňky do entry.

Od verze 4.3 umožňuje DocBook i alternativní zápis tabulek používající HTML syntaxi.

4.7. Seznamy

Seznamy asi nepotřebují příliš velký komentář.

Příklad 4.8. Ukázka seznamů – seznamy.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
                  'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<chapter lang="cs">
  <title>Kapitola se seznamy</title>

  <itemizedlist>
    <listitem>
      <para>jablka</para>
    </listitem>
    <listitem>
      <para>hrušky</para>
    </listitem>
    <listitem>
      <para>švestky</para>
    </listitem>
  </itemizedlist>

  <orderedlist>
    <listitem>
      <para>Praha</para>
    </listitem>
    <listitem>
      <para>Brno</para>
    </listitem>
    <listitem>
      <para>Bratislava</para>
    </listitem>
  </orderedlist>

  <itemizedlist>
    <title>Ovoce:</title>
    <listitem>
      <para>jablka</para>
    </listitem>
    <listitem>
      <para>hrušky</para>
    </listitem>
    <listitem>
      <para>švestky</para>
    </listitem>
  </itemizedlist>

  <orderedlist continuation="continues">
    <title>Číslovaný seznam může pokračovat v přerušeném číslování</title>
    <listitem>
      <para>Ostrava</para>
    </listitem>
    <listitem>
      <para>Plzeň</para>
    </listitem>
  </orderedlist>

  <para>Následující seznam bude číslován římskými číslicemi</para>

  <orderedlist numeration="upperroman">
    <listitem>
      <para>SGML</para>
    </listitem>
    <listitem>
      <para>HTML</para>
    </listitem>
    <listitem>
      <para>XML</para>
    </listitem>
  </orderedlist>

  <variablelist>
    <varlistentry>
      <term>XML</term>
      <listitem>
        <para>eXtensible Markup Language</para>
      </listitem>
    </varlistentry>
    <varlistentry>
      <term>SGML</term>
      <listitem>
        <para>Standard Generalized Markup Language</para>
      </listitem>
    </varlistentry>
    <varlistentry>
      <term>HTML</term>
      <term>XHTML</term>
      <listitem>
        <para>Jazyky pro tvorbu webových stránek odvozené od SGML,
        resp. XML.</para>
      </listitem>
    </varlistentry>
    <varlistentry>
      <term><emphasis>XSL</emphasis></term>
      <listitem>
        <para>XSL = eXtensible Stylesheet Language. Tento popis
        uděláme delší ať je vidět, že se zalomí do několiak řádek.</para>
        <para>Můžeme samozřejmě použít i více odstavců.</para>
      </listitem>
    </varlistentry>
  </variablelist>

</chapter>

Seznamy do sebe můžeme samozřejmě navzájem zanořovat.

4.8. Odkazy

Ve větších dokumentech se bez odkazů neobejdeme. Pokud chceme vytvořit odkaz na určitou část dokumentu (kapitolu, obrázek apod.) musíme cílovému elementu přiřadit jednoznačný identifikátor v atributu id.

Na takto označené místo pak můžeme vytvořit odkaz pomocí elementů xref a link. Rozdíl je v tom, že při použití prvního elementu se automaticky generuje text odkazu, u linku text určujeme sami.

Internetové odkazy se zapisují pomocí elementu ulink.

Příklad 4.9. Ukázka odkazů – odkazy.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE book PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
               'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<book lang="cs">
  <bookinfo>
    <title>První pokusná kniha</title>
    <subtitle>Uživatelská příručka</subtitle>
  </bookinfo>
  <preface>
    <title>Úvod</title>
    <para>Odstavec textu. Více informací naleznete na mé <ulink
url="http://www.kosek.cz">domovské stránce</ulink>. Seznam najdete na
adrese <ulink
url="http://www.seznam.cz">http://www.seznam.cz</ulink>.</para>
  </preface>
  <chapter>
    <title>První kapitola</title>
    <para>Text první kapitoly</para>
    <para>Popis instalace programů používaných v této kapitole najdete
    v příloze <xref linkend="apb"/>.</para>
    <para>Popis instalace programů používaných v této kapitole najdete
    v <link linkend="apb">samostatné příloze B</link>.</para>
    <para>Popis instalace programů používaných v této kapitole najdete
    v <xref endterm="apb-short" linkend="apb"/>.</para>
    <para>Popis instalace programů nepoužívaných v této kapitole najdete
    v <xref linkend="apa"/>.</para>
  </chapter>
  <chapter>
    <title>Druhá kapitola</title>
    <para>Text druhé kapitoly</para>
    <para>Informace o prodeji naleznete v tabulce <xref
    linkend="tab.prodeje"/>.</para>
    <table id="tab.prodeje">
      <title>Prodeje za Q1</title>
      <tgroup cols="3">
        <colspec align="left"/>
        <colspec align="char" char=","/>
        <colspec align="char" char=","/>
        <tbody>
          <row>
            <entry>Leden</entry>
            <entry>865,54</entry>
          <entry>16,3</entry>
          </row>
          <row>
            <entry>Únor</entry>
            <entry>917,7</entry>
            <entry>8,1</entry>
          </row>
          <row>
            <entry>Březen</entry>
            <entry>1036,8</entry>
            <entry>18,9</entry>
          </row>
        </tbody>
      </tgroup>
    </table>
    <para>Obrázek <xref linkend="pic.wap-schema"/> znázorňuje schéma
WAP sítě.</para>
    <para><xref xrefstyle="template:Obrázek %t (%n)" linkend="pic.wap-schema"/>
	znázorňuje schéma WAP sítě.</para>
    <para>Obrázek <xref xrefstyle="select: labelnumber" linkend="pic.wap-schema"/> 
	znázorňuje schéma WAP sítě.</para>
  </chapter>
  <appendix id="apa" xreflabel="Příloha A - Obrázková příloha">
    <title>Obrázková příloha</title>
    <figure float="0" id="pic.wap-schema">
      <title>Schéma WAPu</title>
      <mediaobject>
        <imageobject>
          <imagedata fileref="schema.png" format="PNG"/>
        </imageobject>
      </mediaobject>
    </figure>
  </appendix>
  <appendix id="apb">
    <title>Druhá příloha</title>
    <titleabbrev id="apb-short">2. příloha</titleabbrev>
    <para>Text přílohy</para>
    <para>...</para>
  </appendix>
</book>

Automaticky generovaný text odkazu je ovlivněn několika atributy. Jednak můžeme u odkazu říci, z kterého elementu se má vytáhnout text použitý pro odkaz (atribut endterm). U každého elementu také můžeme v atributu xreflabel nastavit text, který se použije pro vytvoření textu odkazu místo samotného obsahu elementu.

V češtině je trošku problém s automaticky generovanými názvy jako „Obrázek“, „Tabulka“ apod. V textu se mohou vyskytovat v několika různých pádech, s tím však styl nemůže počítat. Pro jazyky jako čeština jsou styly upraveny tak, že vkládají pouze číslo obrázku či tabulky a text dopíše autor sám ve správném pádu. V části věnované úpravě stylů si ukážeme, jak modifikovat tvar křížového odkazu.

Tip

Ve větších dokumentech se člověk může snadno ztratit v identifikátorech, které používá. Je proto dobré zvolit si nějaký systém. Například můžeme na začátek identifikátoru vkládat prefix, který určí typ objektu, který označuje. Například pic. pro obrázky a tab. pro tabulky. Obvyklé bývá také vložení čísla kapitoly nebo jejího identifikátoru jako součást identifikátoru vnořeného elementu.

4.9. Popis třídy, rozhraní, funkce apod.

V DocBooku 4.0 bylo přidáno mnoho nových elementů pro popis tříd a rozhraní. Pomocí atributů můžeme určit pro jaký jazyk je definice určena. Pro některé jazyky umí styly upravit formátování dle konvencí daného jazyka.

Příklad 4.10. Ukázka definice třídy a rozhraní – trida.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
               'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<chapter lang="cs">
  <title>Ukázky definice tříd a rozhraní</title>
  <!-- Příklady jsou převzaty z DocBook 4.0 Update Reference
       http://www.docbook.org/tdg/40update/classsynopsis.html 
       a drobně upraveny -->

  <section>
    <title>Třída v Javě</title>
  
    <classsynopsis language="java">
      <ooclass>
        <modifier>public</modifier>
        <classname>TextFileWriter</classname>
      </ooclass>
      <ooclass>
        <classname>HandlerBase</classname></ooclass>
      <fieldsynopsis>
        <modifier>private</modifier>
        <type>Writer</type>
        <varname>writer</varname>
      </fieldsynopsis>
      
      <fieldsynopsis>
        <modifier>public</modifier>
        <type>String</type>
        <varname>writerName</varname>
        <initializer>"MyWriter"</initializer>
      </fieldsynopsis>
      
      <methodsynopsis>
        <modifier>static</modifier>
        <modifier>public</modifier>
        <void/>
        <methodname>write</methodname>
        <methodparam>
            <type>ResultTreeFragment</type>
          <parameter>frag</parameter>
        </methodparam>
        <methodparam>
          <type>String</type>
          <parameter>file</parameter>
        </methodparam>
        <exceptionname>SAXException</exceptionname>
      </methodsynopsis>
      
    </classsynopsis>

  </section>

  <section>
    <title>Definice rozhraní v IDL</title>
    
    <classsynopsis class="interface" language="idl">
      <oointerface>
        <interfacename>Element</interfacename></oointerface>
      <oointerface>
        <interfacename>Node</interfacename></oointerface>
      
      <fieldsynopsis>
        <modifier>readonly</modifier>
        <modifier>attribute</modifier>
        <type>DOMString</type>
        <varname>tagName</varname>
      </fieldsynopsis>
      
      <methodsynopsis>
        <type>DOMString</type>
        <methodname>getAttribute</methodname>
        <methodparam>
          <modifier>in</modifier>
          <type>DOMString</type>
          <parameter>name</parameter>
        </methodparam>
      </methodsynopsis>
      
      <methodsynopsis>
        <void/>
        <methodname>setAttribute</methodname>
        <methodparam>
          <modifier>in</modifier>
          <type>DOMString</type>
          <parameter>name</parameter>
        </methodparam>
        <methodparam>
          <modifier>in</modifier>
          <type>DOMString</type>
          <parameter>value</parameter>
        </methodparam>
        <exceptionname>DOMException</exceptionname>
      </methodsynopsis>
    </classsynopsis>
    
  </section>
  
</chapter>

4.10. Komentované výpisy kódu

DocBook nabízí několik elementů pro snadné komentování výpisů zdrojového kódu.

Příklad 4.11. Komentované výpisy – callouts.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
                  'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<chapter lang="cs">
  <title>Ukázka <quote>callouts</quote></title>
  <example>
    <title>Malá exkurze do SGML DTD pro jazyk HTML</title>
    <programlisting>&lt;!ELEMENT UL - - (LI)+ &gt;                    <co id="co.element"/>
&lt;!ATTLIST UL                                <co id="co.atributy"/>
  type       (disc|square|circle) #IMPLIED  <co id="co.atribut"/>
  &gt;</programlisting>
    <calloutlist>
      <callout arearefs="co.element">
        <para>Deklarace elementu <sgmltag class="element">ul</sgmltag>
(nečíslovaný seznam). Element musí mít počáteční i ukončovací tag a
může obsahovat pouze elementy <sgmltag
class="element">li</sgmltag>.</para>
      </callout>
      <callout arearefs="co.atributy">
        <para>Deklarace atributů použitelných u <sgmltag
          class="element">ul</sgmltag>.</para>
      </callout>
      <callout arearefs="co.atribut">
        <para>Atribut <sgmltag class="attribute">type</sgmltag> může
mít jednu z&nbsp;hodnot <symbol>disc</symbol>, <symbol>square</symbol>
a <symbol>circle</symbol>.</para>
      </callout>
    </calloutlist>
  </example>

  <para>Další ukázka ukazuje možnost označení oblastí pomocí
souřadnic. Je převzata z testovacích dokumentů pro DSSSL styly.</para>

  <programlistingco lang="en">
    <areaspec>
      <area id="prologue" coords="1"/>
      <area id="skipeof" coords="4"/>
      <areaset id="xreq" coords="">
        <area id="require1" coords="9"/>
        <area id="require2" coords="10"/>
      </areaset>
      <area id="use" coords="11 12"/>
      <area id="funccall" coords="27"/>
    </areaspec>
    <programlisting>@rem = '--*-Perl-*--
@echo off
perl.exe %_batchname %$
goto endofperl
@rem ';

# Compress mail...

require 'n:/home/nwalsh/lib/cygnus.pl';
require 'timelocal.pl';
use Cwd;

select (STDERR); $| = 1;
select (STDOUT); $| = 1;

@DIRS = ("/home/nwalsh/Mail");
while (@DIRS) {
    $dir = shift @DIRS;
    opendir (DIR, $dir);
    while ($fname = readdir(DIR)) {
        $file = "$dir/$fname";
        next if ! -d $file;
        next if $fname =~ /^\.\.?$/;

        print "$file\n";
        push (@DIRS, $file);
        &amp;compress ($file);
    }
}

exit;</programlisting>
    <calloutlist>
      <callout arearefs="prologue">
        <para>The prologue handles embedding a Perl script in a DOS
batch file.</para>
      </callout>
      <callout arearefs="skipeof">
        <para>The <literal>goto</literal> statement, interpreted by
the DOS batch file interpreter, skips over the body of the Perl
script.</para>
      </callout>
      <callout arearefs="require1">
        <para>The <literal>require</literal> statement sources in
external program fragments.</para>
      </callout>
      <callout arearefs="use">
        <para>The <literal>use</literal> statement is similar, but has
additional utility.  It is a Perl5 function.  (Note that this callout
area specifies both a line and a column.)</para>
      </callout>
      <callout arearefs="funccall">
        <para>This is a user subroutine call.</para>
      </callout>
    </calloutlist>
  </programlistingco>
  
</chapter>

4.11. Seznamy literatury

DocBook nabízí poměrně bohaté možnosti pro zápis bibliografických záznamů.

Příklad 4.12. Ukázka seznamu literatury – literatura.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE bibliography PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
          'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<bibliography id="literatura">
<title>Literatura a další zajímavé odkazy</title>

<biblioentry>
<abbrev>REC-XSLT</abbrev>
<editor>
<firstname>James</firstname>
<surname>Clark</surname>
</editor>
<title><ulink url="http://www.w3.org/TR/xslt">XSL Transformations
(XSLT) Version 1.0</ulink></title>
<publishername>W3C</publishername>
<pubdate>1999</pubdate>
</biblioentry>

<biblioentry id="bib.ptux">
<title><ulink url="http://www.cranesoftwrights.com">Practical
Transformation Using XSLT and XPath</ulink></title>
<publisher>
<publishername>Crane Softwrights</publishername>
</publisher>
<pubdate>2000</pubdate>
<isbn>1-894049-04-7</isbn>
</biblioentry>

<biblioentry>
<abbrev>SGML-NT</abbrev>
<author>
<firstname>Markus</firstname>
<surname>Hoenicka</surname>
</author>
<title>SGML for NT</title>
<subtitle>A brief tutorial how to set up a free SGML editing and
publishing system for Windows NT</subtitle>
<releaseinfo>URL: <ulink
url="http://ourworld.compuserve.com/homepages/hoenicka_markus/ntsgml.html">http://ourworld.compuserve.com/homepages/hoenicka_markus/ntsgml.html</ulink></releaseinfo>
</biblioentry>

<biblioentry>
<abbrev>DSSSL</abbrev>
<title>Information technology &ndash; Processing languages &ndash; Document Style
Semantics and Specification Language (DSSSL)</title>
<subtitle>ISO/IEC 10179:1996(E)</subtitle>
<releaseinfo>URL: <ulink
url="ftp://ftp.ornl.gov/pub/sgml/WG8/DSSSL/dsssl96b.pdf">ftp://ftp.ornl.gov/pub/sgml/WG8/DSSSL/dsssl96b.pdf</ulink></releaseinfo>
<releaseinfo>URL: <ulink
url="ftp://ftp.ornl.gov/pub/sgml/WG8/DSSSL/readme.htm">ftp://ftp.ornl.gov/pub/sgml/WG8/DSSSL/readme.htm</ulink></releaseinfo>
</biblioentry>

<biblioentry>
<abbrev>XSLTQUICK</abbrev>
<title><ulink
url="http://www.mulberrytech.com/quickref/XSLTquickref.pdf">XSLT and
XPath Quick Reference</ulink></title>
<publishername>Mulberry Technologies</publishername>
<pubdate>2000</pubdate>
</biblioentry>

<biblioentry>
<abbrev>XPATHTUT</abbrev>
<author>
<firstname>Miloslav</firstname>
<surname>Nič</surname>
</author>
<title><ulink
url="http://www.zvon.org/xxl/XPathTutorial/General/examples.html">XPath
Tutorial</ulink></title>
</biblioentry>

<biblioentry>
<abbrev>XSLTUT</abbrev>
<author>
<firstname>Miloslav</firstname>
<surname>Nič</surname>
</author>
<title><ulink
url="http://www.zvon.org/xxl/XSLTutorial/Books/Book1/index.html">XSLT Tutorial</ulink></title>
</biblioentry>

<biblioentry>
<abbrev>GNU-WWW</abbrev>
<author>
<firstname>Lenka</firstname>
<surname>Třísková</surname>
</author>
<title>GNU nástroje pro tvorbu WWW stránek</title>
<publisher>
<publishername>Grada Publishing</publishername>
</publisher>
<pubdate>2000</pubdate>
<isbn>ISBN 80-7169-861-X</isbn>
<pagenums>244</pagenums>
</biblioentry>

<biblioentry>
<abbrev>TDG</abbrev>
<authorgroup>
<author>
<firstname>Norman</firstname>
<surname>Walsh</surname>
</author>
<author>
<firstname>Leonard</firstname>
<surname>Muellner</surname>
</author>
</authorgroup>
<title>DocBook</title>
<subtitle>The Definitive Guide</subtitle>
<pubdate>1999</pubdate>
<edition>1</edition>
<isbn>ISBN: 156592-580-7</isbn>
<pagenums>648</pagenums>
<releaseinfo>URL: <ulink
url="http://www.docbook.org/tdg/html/docbook.html">http://www.docbook.org/tdg/html/docbook.html</ulink></releaseinfo>
</biblioentry>

<biblioentry>
<abbrev>DocBook4</abbrev>
<authorgroup>
<author>
<firstname>Norman</firstname>
<surname>Walsh</surname>
</author>
<author>
<firstname>Leonard</firstname>
<surname>Muellner</surname>
</author>
</authorgroup>
<title>DocBook 4.0</title>
<subtitle>Update Reference</subtitle>
<releaseinfo>URL: <ulink url="http://www.docbook.org/tdg/40update/">http://www.docbook.org/tdg/40update/</ulink></releaseinfo>
</biblioentry>

<biblioentry>
<abbrev>XSL-DOC</abbrev>
<authorgroup>
<author>
<firstname>Norman</firstname>
<surname>Walsh</surname>
</author>
<author>
<firstname>Bob</firstname>
<surname>Stayton</surname>
</author>
</authorgroup>
<title>DocBook XSL Stylesheet Documentation</title>
<releaseinfo>URL: <ulink url="http://www.nwalsh.com/docbook/xsl/doc/">http://www.nwalsh.com/docbook/xsl/doc/</ulink></releaseinfo>
</biblioentry>

<biblioentry>
<abbrev>TableExchange</abbrev>
<author>
<firstname>Norman</firstname>
<surname>Walsh</surname>
</author>
<title>Organization for the Advancement of Structured Information
Standards (OASIS) Technical Memorandum TR 9901:1999</title>
<subtitle>XML Exchange Table Model Document Type Definition</subtitle>
<pubdate>1999</pubdate>
<publisher>
<publishername>OASIS</publishername>
</publisher>
<releaseinfo>URL: <ulink
url="http://www.oasis-open.org/html/tm9901.htm">http://www.oasis-open.org/html/tm9901.htm</ulink></releaseinfo>
</biblioentry>

<biblioentry>
<abbrev>DSSSL-DOC</abbrev>
<author>
<firstname>Norman</firstname>
<surname>Walsh</surname>
</author>
<title>The Modular DocBook Stylesheets</title>
<releaseinfo>URL: <ulink
url="http://www.nwalsh.com/docbook/dsssl/doc/">http://www.nwalsh.com/docbook/dsssl/doc/</ulink></releaseinfo>
</biblioentry>

<biblioentry>
<abbrev>DB-L</abbrev>
<title>Archiv mailing listu
<email>docbook@lists.oasis-open.org</email></title>
<releaseinfo>URL: <ulink
url="http://lists.oasis-open.org/archives/docbook/">http://lists.oasis-open.org/archives/docbook/</ulink></releaseinfo>
</biblioentry>

<biblioentry>
<abbrev>DBAPPS-L</abbrev>
<title>Archiv mailing listu
<email>docbook-apps@lists.oasis-open.org</email></title>
<releaseinfo>URL: <ulink
url="http://lists.oasis-open.org/archives/docbook-apps/">http://lists.oasis-open.org/archives/docbook-apps/</ulink></releaseinfo>
</biblioentry>

<biblioentry>
<abbrev>DSSSL-Pages</abbrev>
<title>Stránky věnované jazyku DSSSL</title>
<releaseinfo>URL: <ulink url="http://www.netfolder.com/DSSSL/">http://www.netfolder.com/DSSSL/</ulink></releaseinfo>
</biblioentry>

</bibliography>

Odkaz na zdroj se vytváří buď pomocí elementu xref, který ukazuje na id zdroje, nebo pomocí elementu citation, který obsahuje zkratku zdroje uvedenou v seznamu literatury v elementu abbrev.

Nelíbí-li se nám formátování seznamu literatury, můžeme si upravit styly. To je však velice náročné, proto se obvykle volí jiná cesta. Nejjednodušší je jednotlivé zdroje zapisovat pomocí elementu bibliomixed, který dovoluje ručně zadat veškerý text včetně různých interpunkčních znamének.

<bibliomixed>
<abbrev>Ko99</abbrev>
Kosek, J.: <citetitle>PHP &ndash; tvorba interaktivních internetových
aplikací</citetitle>. Grada Publishing. Praha 1999.
</bibliomixed>

Citujeme-li hodně, můžeme použít některý z nástrojů pro práci s citačními databázemi, který podporuje DocBook. Například RefDB, BibTeXML nebo JReferences.

4.12. Nejběžnější inline elementy

Inline elementů existuje v DocBooku několik desítek. Následující příklad ukazuje použití těch elementů, jejichž zpracování závisí na hodnotě atributu nebo na kontextu, ve kterém jsou použity.

Příklad 4.13. Ukázka inline elementů – inline.xml

<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE chapter PUBLIC '-//OASIS//DTD DocBook XML V4.5//EN'
                  'http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd'>
<chapter lang="cs">
<title>Ukázka vybraných inline elementů</title>

<section>
<title>Zápis SGML/XML značkování</title>

<literallayout>
<sgmltag>element</sgmltag>
<sgmltag class="attribute">atribut</sgmltag>
<sgmltag class="attvalue">hodnota atributu</sgmltag>
<sgmltag class="element">element</sgmltag>
<sgmltag class="emptytag">empty</sgmltag> &ndash; prázdný element
<sgmltag class="starttag">tag</sgmltag> &ndash; počáteční tag
<sgmltag class="endtag">tag</sgmltag> &ndash; ukončovací tag
<sgmltag class="genentity">mdash</sgmltag> &ndash; odkaz na entitu
<sgmltag class="numcharref">x201C</sgmltag> &ndash; odkaz na číselnou znakovou entitu
<sgmltag class="paramentity">iso-pub</sgmltag> &ndash; parametrická entita
<sgmltag class="pi">Pub caret</sgmltag> &ndash; SGML instrukce pro zpracování
<sgmltag class="xmlpi">xml-stylesheet href="styl.css" type="text/css"</sgmltag> &ndash; XML instrukce pro zpracování
<sgmltag class="sgmlcomment">nějaký komentář</sgmltag>
</literallayout>

</section>

<section>
<title>GUI elementy &ndash; menu, klávesové zkratky apod.</title>

<para>Náš úžasně geniální program se spouští pomocí kliknutím na ikonu
<guiicon>GENPROG</guiicon>. Program lze ukončit stiskem <keycombo>
<keycap>Alt</keycap><keycap>F4</keycap></keycombo> nebo pomocí příkazu
z menu <menuchoice><guimenu><accel>S</accel>oubor</guimenu>
<guimenuitem><accel>K</accel>onec</guimenuitem></menuchoice>.</para>

<para>Soubor lze otevřít pomocí
<menuchoice>
<shortcut>
<keycombo><keycap>Ctrl</keycap><keycap>O</keycap></keycombo>
</shortcut>
<guimenu>Soubor</guimenu>
<guimenuitem>Otevřít</guimenuitem>
</menuchoice>.</para>

</section>

<section>
<title>Pár dalších ukázek</title>

<para>Moje e-mailová adresa je
<email>jirka@kosek.cz</email>. Neposílejte mi nic
<emphasis>zbytečně</emphasis>. Myslím to <emphasis
role="bold">vážně</emphasis>. Na následujícím <phrase
role="important">kusu textu</phrase> si ukážeme úpravy stylů.</para>

</section>

</chapter>


© Jiří Kosek 2007
Tento dokument je určen výhradně pro osobní potřebu seznámení se systémem DocBook. Jakékoliv jiné použití, včetně dalšího šíření, pořizování kopií apod. je výslovně zakázáno a bude považováno za porušení autorských práv.