5. 例題をステップ・バイ・ステップで学ぼう

さて,これから簡単な DocBook の文書を作成する手順を一通り眺めてみましょ う.この例にはよく使われる DocBook の要素がいくつか含まれていますし, DocBook でマークアップされた文書がどう見えるかもだいたいわかります.

DocBook の要素とその使い方のもっときちんとした一覧が欲しければ, 要素のリファレンス または Norman Walsh の DocBook: The Definitive Guide を見てください.後者は http://www.docbook.org で入手できます.

5.1. ステップ 1: 文書型定義(DTD)を含める

"article" をマークアップするものとして,文書に最初に入れるべきものは文 書型定義です.

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">

5.2. ステップ 2: 「ルート」要素の追加

その次は,「ルート」要素を定義しなければなりません.ルート要素は 文書中の他の要素を全て含みます.article の場合は,ルート要素はそのまま "article" となります.したがって,文書型定義の後に "article" タグと その終了タグを追加します.

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
<article>

</article>

文書に追加される他の全ての要素は "article" タグに含まれるので, 文書が完成した時には,文書の最後のタグは "</article>" になるはずです.

5.3. ステップ 3: article ヘッダの追加

次は「ヘッダ」情報をいくつか追加するとよいでしょう.ヘッダ情報には文書 の題名,著者の名前やメールアドレス,文書の版の履歴などが含まれます. 今のところは,文書の題名と著者の名前を追加するだけにしておきましょう.

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
<article>

<artheader>
   <title>夏休みの思い出</title>
   <author>
      <firstname>Deb</firstname>
      <surname>Richardson</surname>
   </author>
</artheader>

</article>

5.4. ステップ 4: 最初のレベルの節の追加

ヘッダ情報の追加ができたら,次はレベル 1 セクションの内容を題名付きで 書き加えましょう.

<!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook V3.1//EN">
<article>

<artheader>
   <title>夏休みの思い出</title>
   <author>
      <firstname>Deb</firstname>
      <surname>Richardson</surname>
   </author>
</artheader>

<sect1>
<title>5 月</title>
<para>
ぼくの夏休みは 5 月 14 日に始まった.卒業式のすぐ後だ.
大学を卒業したのはいいけれど仕事がなく,かなり借金もあったので,ぼくは
たぶん就職しなきゃいけないと思った.5 月のほとんどは,すごそうに聞こえ
るけれどひどく曖昧な技術や業績を履歴書に書き連ね,それを電話帳に載って
いる会社に片っ端から送り付けて過ごした.
</para>
</sect1>

</article>

たぶん,そろそろコツが分かってきたのではないかと思います.

5.5. ステップ 5: サブセクションとサブサブセクションの追加

サブセクションやサブサブセクションの追加も簡単です.2 レベルの セクションは "sect2" タグで開始・終了し,3 レベルのセクションは "sect3" タグで開始・終了します.それ以降も同じです. 標準の DocBook DTD は 5 レベルまでのセクションにしか対応していないので, "sect6", "sect7" やそれ以降のタグはありません.しかし,非常に長くて専 門的な本を書かない限りは,5 レベルを超えるセクションが必要になることは たぶんないでしょう.

各レベルのセクションは自身より高いレベルのセクションに含まれていなけれ ばなりません.したがって,レベル 2 セクションはレベル 1 のセクションに 含まれていなければなりません.他も同じです.以下に例を示します:

<sect1>
<title>5 月</title>
<para>
ぼくの夏休みは 5 月 14 日に始まった.卒業式のすぐ後だ.
大学を卒業したのはいいけれど仕事がなく,かなり借金もあったので,ぼくは
たぶん就職しなきゃいけないと思った.5 月のほとんどは,すごそうに聞こえ
るけれどひどく曖昧な技術や業績を履歴書に書き連ね,それを電話帳に載って
いる会社に片っ端から送り付けて過ごした.
</para>

<sect2>
<title>ぼくの履歴書</title>
<para>
ぼくの履歴書は 4 ページで,主にぼくの学歴と職歴を書いていた.
この履歴書はどう見ても貧弱だった.
</para>

<sect3>
<title>職歴</title>
<para>
ぼくがしたことがある仕事はほとんどが外食産業だった.
志の高い作家の多くと同じように,ぼくは成長期のほとんどを机を拭くことと
ケチなチップに文句を言うことで過ごした.
</para>
</sect3>

</sect2>

</sect1>

見ての通り,この例は 3 つの終了タグで終わっています――各レベルの セクションは,高いレベルのセクションに含まれています.つまり「入れ子」 になっています.