10.10. Práce s odkazy

DocBook samozřejmě také plně podporuje práci s hypertextovými odkazy. Jednak se lze odkazovat na externí URL nebo soubory a jednak na jakýkoliv objekt v dokumentu. Vhodná provázanost objektů hyperlinkovými odkazy výrazně usnadňuje orientaci a práci s dokumentem.

Přehled značek pro odkazy

ulink

odkaz na externí URL

olink

odkaz na jiný DocBookový dokument

link

odkaz na jiný objekt v dokumentu s určeným popiskem

xref

odkaz na jiný objekt v dokumentu s automaticky generovaným popiskem

Základní možností práce s odkazy je uvádění libovolné URL adresy do textu. To provedeme pomocí elementu ulink. Do těla píšeme název URL adresy, vlastní adresu uvádíme do atributu url. Touto značkou se však můžeme odkazovat i na libovolné místo v souborovém systému, stačí adresu začít file:/// a doplnit cestu k souboru. Pozor však na lomítka, nepíší se zde zpětná lomítka, protože se stále jedná o adresu.

ikona
<ulink url="http://www.vsb.cz">Vysoká škola báňská</ulink>
<ulink url="file:///c:/docbook/bat/html_saxon.bat">html_saxon.bat</ulink>

Značkou olink se můžeme odkazovat na jiný DocBookový dokument připojený pomocí entit. To však příliš nevyužijeme.

Daleko zajímavější jsou možnosti odkazování na jiné místo zpracovávaného dokumentu, tzv. křížové odkazy Lze se odkazovat na libovolný objekt kdekoliv v dokumentu. Stačí tomuto objektu přiřadit atribut id, který bude obsahovat nějaký jedinečný identifikátor (podobně jak to děláme třeba v HTML).

ikona
Příklad 10.10: Přiřazení identifikátoru kapitole
<chapter id="tabulky" xreflabel="Kapitola o tabulkách">
 <title>Tabulky</title>
</chapter>

Na toto id se pak můžeme odkazovat pomocí elementů xref nebo link. Rozdíl je v tom, že při použití xref se automaticky generuje název odkazu (tato značka je nepárová), zatímco u elementu link text určujeme sami. Do odkazu generovaného xref se automaticky dosadí implicitní jméno objektu. Atributem xreflabel, který uvedeme u odkazovaného objektu definujeme jaké jméno má xref použít místo implicitního jména. Do xref také můžeme uvést atribut endterm, který vytáhne jméno z objektu s daným id.

ikona
<xref linkend="tabulky" />
Více v kapitole o <link linkend="tabulky">tabulkách</link>
<xref linkend="obrazky" endterm="tabulky" />

Při umisťování id do dokumentu je vhodné jej přednostně dávat ke značkám pro kapitolu chapter nebo sekci section, protože se stejně zpravidla odkazujeme právě na ně.

Nepárový element anchor je obecným prvkem pro uvození místa na které se budeme odkazovat. Lze jej použít prakticky na libovolném místě dokumentu, tok textu nijak neovlivní.

ikona
<para>Toto je <anchor id="nejakytext"/> text, do kterého se budeme odkazovat.</para>

Na místo uvozené značkou anchor stejným způsobem jak je popsáno výše.