Version 12 (modified by yasumichi, 15 years ago) (diff) |
---|
オンラインマニュアルの作成にDocBook XMLを使用しています。
インストールガイドのソースはprojects/install-guide/trunkで閲覧できます。チェックアウトする場合は、以下のコマンドを使用してください。
$ svn co http://trac.vinelinux.org/repos/projects/install-guide/trunk install-guide
オンラインマニュアルのソースはprojects/Vine-manual/trunkから閲覧できます。チェックアウトする場合は、以下のコマンドを使用してください。
$ svn co http://trac.vinelinux.org/repos/projects/Vine-manual/trunk Vine-manual
<?xml version="1.0"?> <!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN" "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd"> <book id="example-book"> <title>DocBookの例</title> <chapter id="example-chapter"> <title>章の例</title> <para>段落の例です。</para> <sect1 id="example-sect1"> <title>節の例</title> <para>chapterを分割するsect1の例です。</para> </sect1> <sect1>(中略)</sect1> </chapter> <chapter>(中略)</chapter> <appendix id="example-appendix"> <title>付録の例</title> <para>(中略)</para> </appendix> </book>
エンコーディングは、UTF-8を使用してください。
!DocBookに限った話ではないのですが、XMLファイルを別の形式に変換する場合、xsltprocコマンドを利用します。その基本構文は次の通りです。
$ xsltproc オプション XSLスタイルシート XMLファイル
!DocBook用のXSLスタイルシートは、/usr/share/sgml/docbook/xsl-stylesheets以下に用意されています。以下、HTMLファイルに変換する例を記述します。
$ xsltproc /usr/share/sgml/docbook/xsl-stylesheets/html/docbook.xsl source.xml > dest.html
XSLスタイルシートに/usr/share/sgml/docbook/xsl-stylesheets/html/docbook.xslを使用した場合、標準出力にHTMLを吐き出しますのでリダイレクトしています。
$ xsltproc /usr/share/sgml/docbook/xsl-stylesheets/html/chunk.xsl source.xml
自動でファイル名が決定されます。
xsltprocのオプション --stringparam を使うとXSLスタイルシートパラメータを指定する事ができます。
--stringparam chunker.output.encoding euc-jp
デフォルトの出力エンコーディングは UTF-8 です。
--stringparam chunker.output.indent yes
これを指定しないと出力されるHTMLソースは、可読性が最悪です。
Vine-manualでは、以下のXSLスタイルシートを custom.xslとして利用しています。
XSLスタイルシートは、ゼロから作成することも可能ですが、標準のスタイルシートはよくできていますのでそれを利用した方がいいでしょう。
この例では、標準のスタイルシートを編集せずに3行目の xsl:import で /usr/share/sgml/docbook/xsl-stylesheets/xhtml/chunk.xsl をインポートしています。
また、xsl:param'''を利用してスタイルシートパラメータをいくつか指定しています。例えば、'''use.id.as.filename を 1 に設定すると id属性を利用して出力ファイル名を決定する事ができます。
custom.xslの後半では、xsl:template を利用して Q&A セットの出力方法をカスタマイズしています。これは、参考文献で紹介する DocBook XSL: The Complete Guideの Chapter 28. Q and A setsから拝借しました。