4.4. 文書の構築(作業中)

文書の構築とは、SGML 文書を各種出力形式に変換する操作です。 これにはもちろん、SGML 文書を扱うためのソフトウェアを利用します。

4.4.1. SGML 文書を扱うソフトウェア

FDP で文書の構築に利用しているのは、

DocBook DTD で書かれた SGML 文書 DocBook DTD + Modular DSSSL Stylesheet と Jade(DSSSL 実装)
HTML DTD で書かれた SGML 文書 HTML DTD と sgmlnorm(SGML 正規化ツール)

です。具体的に、それぞれの特徴を考えることにします。

4.4.1.1. Jade を使った文書の構築

doc tree に存在する文書、具体的には FreeBSD FAQ, Handbook, Tutorials は、すべて DocBook DTD にしたがって書かれている SGML 文書です。 SGML というのは、文書の論理構造を記述するためのマークアップ言語なので、 この文書を可読形式にするには、物理的構造を指定する何らかの方法が必要になります。

この、物理的構造を指定するための言語をスタイルシートと呼びます。 これにはたくさんの種類があり、Dynatext, Panorama, CSS, DSSSL などがすべてそうです。たとえば、SGML のサブセットである HTML では、CSS(Cascading Style Sheet) が良く使われる傾向にあります。

FDP では、DocBook 文書のスタイルシートとして、 DSSSL を使った Modular DSSSL Stylesheet を採用しました。 DSSSL は、あまり聞き慣れない人の方が多いと思いますが、 Lisp(Scheme) をベースとした文法を持つ言語です。

さて、HTML と CSS を使った場合、画面に表示するのは WWW ブラウザの役割である、というのはご存知だと思います。 DocBook + DSSSL の場合も同じです。 つまり、SGML と DSSSL の両方を理解するソフトウェアが文書を処理する必要があります。

この SGML と DSSSL の両方を理解するソフトウェアと言うのが、 Jade と呼ばれるソフトウェアです。SGML 界のヒーローである James Clark 氏による DSSSL の実装で、SGML 文書と DSSSL で書かれたスタイルシートを読み込み、RTF, HTML, Postscript, PDF などの、各種可読形式に変換する機能を備えています。

このように、 FDP が管理する Handbook,FAQ,Tutorials は DocBook DTD と Modular DSSSL Stylesheet を使って Jade で処理することで、可読形式を得るわけです。 Jade の詳しい利用法については、SGML の章で扱います。

4.4.2. FreeBSD doc tree の構築

4.4.3. FreeBSD www tree の構築

(作業中)