文書を処理する過程で次のようなツールが使われます。 そのうちのいくつかは付記されているように省略しても構いません。
DocBookそのものの定義です。 現在はバージョン4.5を使用しており、これより古いまたは新しいバージョンは使用できません。 DocBook DTDのSGML対応版ではなく、XML対応版が必要です。
DocBookのソースをHTMLのような他のフォーマットに変換する処理手順が含まれています。
現在最低必要なバージョンは1.77.0ですが、最良の結果を得るために入手可能な最新の版を使うことをお勧めします。
xmllintのためのLibxml2
このライブラリとそこに含まれるxmllintツールはXMLを処理するのに使われます。
PostgreSQLのコードを構築する時にも使われますので、多くの開発者はすでにLibxml2をインストールしているでしょう。
しかしながら、xmllintは別のサブパッケージからインストールする必要があるかもしれないことに注意してください。
xsltprocのためのLibxslt
xsltprocはXSLTプロセッサ、すなわち、XSLTスタイルシートを使ってXMLを他のフォーマットに変換するプログラムです。
これは変換、とりわけXMLからPDFへの変換のためのプログラムです。
文書を作成するために必要な様々なツールのインストール方法についての経験をまとめました。 以下に記載します。 これらのツールは別にパッケージ化されて配布されていることも考えられます。 もしそのような配布物を見つけた場合はdocのメーリングリストに報告してください。 そのような情報をここに付け加えたいと思います。
必要なファイルはインターネットからダウンロードされ、ローカルにキャッシュされるので、DocBook XMLとDocBook XSLTスタイルシートをローカルにインストールせずに済ませることもできます。
オペレーティングシステムのパッケージでこれらのファイルの古いバージョンしか提供されていない場合や、パッケージが全く利用できない場合には、実際、これが好ましい解決法でしょう。
文書を構築する時にインターネットにアクセスしないようにするには、xmllintとxsltprocに--nonetオプションを渡すことが必要です。以下の例を参照してください。
要求されるパッケージをインストールするには以下のようにしてください。
yum install docbook-dtds docbook-style-xsl fop libxslt
pkgで必要なパッケージをインストールするには以下を使います。
pkg install docbook-xml docbook-xsl fop libxslt
提供されているMakefileはFreeBSDのmake用ではありませんので、docディレクトリから文書を作成するにはgmakeを使うことが必要でしょう。
Debian GNU/Linux用の文書作成パッケージの一式が揃っています。 インストールには以下を使います。
apt-get install docbook-xml docbook-xsl fop libxml2-utils xsltproc
macOSでは、他に追加でインストールしなくても、HTMLとmanドキュメントを構築できます。 PDFを構築する、あるいはDocBookのローカルなコピーが必要な場合は、お気に入りのパッケージマネジャーを使って入手できます。
MacPortsを使っているのであれば、以下のようにすれば設定されます。
sudo port install docbook-xml-4.5 docbook-xsl fop
Homebrewを使っているのであれば、こちらを使ってください。
brew install docbook docbook-xsl fop
configureによる検出
PostgreSQL本体のプログラムを構築した時のように、文書を構築する際にconfigureスクリプトを実行する必要があります。
実行が終わる近辺の出力を確認してください。次のような感じになっているはずです。
checking for xmllint... xmllint checking for xsltproc... xsltproc checking for fop... fop checking for dbtoepub... dbtoepub
xmllintやxsltprocが見つからない時は、文書の構築はできません。
fopはPDF形式で文書を構築するのにのみ必要です。
dbtoepubはEPUB形式で文書を構築するのにのみ必要です。
必要ならconfigureにどこでこれらのプログラムを見つけられるか教えることができます。例えば、
./configure ... XMLLINT=/opt/local/bin/xmllint ...
さらに、xmllintとxsltprocが確実にネットワークアクセスを行なわないようにしたいのであれば、以下のようにすればできます。
./configure ... XMLLINT="xmllint --nonet" XSLTPROC="xsltproc --nonet" ...