Práce s DocBook website není opět nic složitého. Typický postup pro vytvoření webového sídla sestává z následujících kroků:
pro každou jednotlivou WWW stránku vytvoříme samostatný XML soubor jehož obsah bude uzavřen do elementu webpage
,
hierarchii těchto jednotlivých stránek uvedeme do souboru layout.xml
(bude obsahovat odkazy na jednotlivé podstránky),
soubor layout.xml
transformujeme pomocí autolayout.xsl
, čímž vznikne soubor autolayout.xml
,
soubor autolayout.xml
transformujeme do výsledné HTML podoby některou ze šablon (nejčastěji asi chunk-tabular.xsl
).
Každou stránku webu tedy uvedeme do samostatného XML souboru. Její obsah musí být uzavřen do
značky website
a vždy ji přiřadíme nějaké id
, abychom se na ni mohli
v případě potřeby odkazovat.
<!DOCTYPE webpage SYSTEM "../schema/dtd/website.dtd"> <webpage id="latex"> <config param="desc" value="Software - DocBook"/> <config param="rcsdate" value="$Date: 2003/01/16 15:05:46 $"/> <head> <title>Software - DocBook</title> <titleabbrev>DocBook</titleabbrev> <summary>Software - DocBook</summary> </head> <webtoc /> <para>nějaký obsah webové stránky</para> </webpage>
Do elementu head
uzavíráme metainformace stránky. Element webtoc
označuje místo, kam se mají generovat navigační prvky. Ty se však obvykle generují samy i bez jeho
uvedení.
Samotný obsah webové stránky záleží na nás. Pro její tvorbu používáme známé DocBookové
značky. Můžeme si vybrat mezi dvěma DTD - buď website.dtd
, které obsahuje omezenou
množinu značek (tzv. Simplified DocBook DTD) a nebo website-full.dtd
,
které obsahuje značky všechny.
Element config
slouží pro modifikaci některých parametrů a vlastností stránky.
Viz kapitola o modifikaci vzhledu.
Soubory pište v kódování UTF-8. Předejdete tak zbytečným problémům s parsováním XML souborů.
Nastavení hodnoty charset
v hlavičce HTML souboru nemusíme řešit, všechny české
znaky budou převedeny na UNICODE entity.
Když vytvoříme jednotlivé stránky, musíme vytvořit soubor layout.xml
,
kterým je všechny spojíme do určité hierarchie. V podstatě definujeme obsah TOC
a
vhodným zanořením elementů vznikne hierarchické uspořádání celého webu.
<?xml version="1.0"?> <!DOCTYPE layout PUBLIC "-//Norman Walsh//DTD Website Layout V2.4.0//EN" "http://docbook.sourceforge.net/release/website/2.4.0/schema/dtd/layout.dtd"> <layout> <config param="text-prefix" value="txt"/> <config param="homebanner-tabular" value="graphics/homebanner.png" altval="Home Banner"/> <config param="banner-tabular" value="graphics/banner.png" altval="Banner"/> <copyright> <year>1999</year><year>2003</year><year>2001</year> <holder role="http://nwalsh.com/~ndw/">Norman Walsh</holder> </copyright> <style src="example.css" type="text/css"/> <toc page="index.xml" filename="index.html"> <tocentry page="software.xml" filename="software.html" tocskip='1'> <tocentry page="software-latex.xml" filename="software-latex.html" revisionflag="changed" /> <tocentry page="software-docbook.xml" filename="software-docbook.html"/> </tocentry> <tocentry page="form.xml" filename="form.html" dir="form" /> </toc> <notoc page="about.xml" filename="about.html"/> </layout>
Tato ukázka názorně demonstruje, jak se taková struktura definuje. Povšimněte s v úvodní
části elementu config
, který v tomto případě definuje obrázkové logo, jež bude
umístěno nad navigačním menu. Dále následuje element copyright
, který vygeneruje
informace o copyrightu do pravého dolního rohu každé stránky.
Element style
definuje umístění kaskádového stylu stránek.
Element toc
definuje strukturu webu. Pokud chceme stránky seskupit uděláme to
pomocí tocentry
. Zpravidla vytvoříme jednu „hlavní nadřízenou“ stránku -
v tomto případě software.xml
s prázdným obsahem, protože definicí atributu
tocskip="1"
bude automaticky nabídnuta první podstránka v hierarchii. Hlavní nadřízená
stránka samozřejmě také může mít svůj obsah, u zanořených skupin se to ale zpravidla nedělá.
U položek tocentry
můžeme definovat některé atributy, zajímavý je
revisionflag="changed"
, který položce menu přiřadí obrázek označující
„novinku“.
V položce tocentry
definujeme atributem page
název zdrojové XML
stránky a atributem filename
jméno HTML souboru, pod kterým bude její obsah
uložen.
Atributem dir="form" říkáme, že bude tato stránka uložena do podadresáře
form
, což usnadní orientaci zejména u rozsáhlejších webových sídel.
Stránky, které nebudou uvedeny v obsahu, ale dá se na ně odkazovat jiným způsobem uvedeme do
elementu notoc
.
Navigační menu funguje tak, že když klikneme na kategorii, „rozbalí“ se podmenu s jejím obsahem. Po kliknutí mimo kategorii toto podmenu zase zmizí.
Soubory s XML nemusí být všechny umístěné v jednom adresáři. Můžeme je uložit do libovolných podadresářů pro usnadnění naší orientace. Tato adresářová hierarchie dokonce ani nemusí odpovídat hierarchii webu.
Tento soubor obsahuje ukázkový dokument pro DocBook website v XML i HTML verzi.
Postup generování se ničím neliší od toho, co již známe. Jen je třeba mít na paměti, že v
případě generování website musíme učinit dva průchody
(layout.xml
->autolayout.xml
a autolayout.xml
->HTML).
Nejsnáze to provedeme dávkovým souborem website_saxon.bat
.
Vygenerované HTML soubory budou uloženy do podadresáře, který je v XSL specifikován
parametrem output-root
.
Až budete své webové stránky někam nahrávat, nezapomeňte připojit všechny soubory, které mají obsahovat. Zejména nezapomeňte na kaskádové styly a adresář s obrázky.