HTMLおよびPDFへの変換
Apache Velocityは、DocBook XMLファイルをHTMLおよびPDFに変換するためのフレームワークです。この変換処理でVelocityが使用するのは、一連のANTビルドファイルです。この記事の手順を実際に試してみたい場合は、まずVelocity DocBookフレームワークをダウンロードし、インストールしてください。そして、EclipseなどのIDEで新しいプロジェクトを作成し、Velocityフレームワークをインポートします。Xercesライブラリも必要です。このライブラリはxerces.apache.orgからダウンロードして、サードパーティのjarと一緒に新しいプロジェクトのlibフォルダにコピーします。ここまでの作業が完了すると、プロジェクトの「docs/src/docbook/dbf」フォルダには、Velocityツールと、DocBookで記述されたVelocityドキュメントが格納されているはずです。それでは、実際に独自のサンプルドキュメントを作成してみましょう。まずは、このフォルダに前掲の単純なDocBook XMLドキュメントを「simple.xml」として作成します。
「simple.xml」をPDFまたはHTMLに変換するには、Velocityビルドスクリプトを編集して新しいファイルを選択する必要があります。プロジェクト構造とANTスクリプトに手を加えればプロジェクトへの適合性やビルドプロセスとの統合性を高めることができますが、今回はデモンストレーションなので、単純にANTファイル「build.xml」を開き、<property name="docbook.file" value="DBFUserGuide"/>というエントリを<property name="docbook.file" value="simple"/>に書き換えます。これにより、新しいサンプルファイルが確実に参照されます。
EclipseでPDFおよびHTMLを生成するには、「build.xml」ファイルを右クリックして、[Run As]、[ANT Build]を順に選択するだけです。ビルドが完了したら、「doc/target/dbf/singlehtml」フォルダにHTMLが出力され、「doc/target/dbf/pdf」にPDFが出力されていることを確認します。
生成されたドキュメントを図1(HTML)と図2(PDF)に示します。
DocBookの語彙
DocBookでは、基本リスト、表、リンク、画像などのコンテンツを表すタグが多数用意されているだけでなく、より具体的なプログラミング用のタグも用意されています。たとえば項目リストを作成するには、<orderedlist>タグまたは<itemizedlist>タグと、子要素を示す<listitem>タグを使用します。コード例を以下に示します。
... <chapter id="list"> <title>Lists</title> <para>You can use:</para> <itemizedlist mark="opencircle"> <listitem> <para> itemizedlist; or </para> </listitem> <listitem> <para> orderedlist </para> </listitem> </itemizedlist> </chapter>
<mediaobject>タグおよび<ulink>タグを使用すれば、画像とリンクを組み込むことができます。たとえば次のコードを使用すると、画像「logo.png」を挿入できます。
<mediaobject> <imageobject> <imagedata fileref="images/logo.png"/> </imageobject> </mediaobject>
また、次のコードではDocBook Webサイトへのリンクを追加できます。
<ulink url="http://www.docbook.org">docBook</ulink>
ソースコードを挿入するには、<programlisting>要素を使用します。
<programlisting><![CDATA[ protected void test() { System.out.println("This is a sample extract"); } ...]]> </programlisting>
試しにタグをいくつか「simple.xml」ファイルに追加し、ANTビルドを実行して、そのタグがどのようにレンダリングされるかを見てみましょう。


