7. 新しいドキュメントの追加

Hoge-HOWTO を例としていきます

7.1. 格納場所の準備

docs に、ドキュメントと同名のディレクトリを堀り、 そのディレクトリを

     $ svn add ディレクトリ
    
して svn の管理下においてください。

以下、適宜 svn commit してください。

7.2. xml ソースの準備

7.1.「格納場所の準備」で作成したディレクトリにディレクトリ名と同名の xml ファイルを作成してください。 [5]

この xml ファイルは、他のドキュメントのディレクトリからパチってくるのがはやいとはおもいますが、 一応先頭数行のお約束を書いておくと

     <?xml version="1.0" encoding="EUC-JP"?>1
     <!DOCTYPE article PUBLIC "-//OASIS//DTD DocBook XML V4.1.2//EN"2
     "http://www.oasis-open.org/docbook/xml/4.1.2/docbookx.dtd" [3
     <!ENTITY % kent SYSTEM "../../momonga.ent">4
     %kent;5
     ]>
     <article id="index" lang="ja">6
    
1

このファイルが xml であることの宣言です。xmlのエンコーディングはデフォルトで UTF-8 なので、 違うエンコーディングで記述する場合は併せて宣言します。

2

XML DocBook DTD Version 4.1.2 を使用する宣言です。

3

実際に DTD がある URL です。DocBook sgml ではないので必須です。

4

momonga.ent ファイルを読み込みます。

5

momonga.ent ファイル内で定義された実体を実際に使用する宣言だと思ってください。

6

この文書のルートエレメントである article です。 id 属性により、出力ファイルが index.html となります。

また、日本語で記述されているので lang 属性に ja をセットしています。この結果、 出力される html の html タグの lang 属性 に ja がついたり EUC-JP でエンコードされたり、 "Table of Contents" が "目次" と翻訳されたりします。

7.3. omf ファイルの用意

omf とは Open Source Metadata Framework のことです。 詳しくは metalab をご覧ください。

docs/Hoge-HOWTO/ja/Hoge-HOWTO-ja.omf として作ります。 中身は

     <?xml version="1.0" encoding="EUC-JP" standalone="no"?>
     <omf>
     <resource>
     <title>
     Hoge-HOWTO
     </title>
     <subject>
     <category>General|Linux|Distributions|Momonga</category>
     </subject>
     <format mime="text/xml"/>
     <identifier url="Hoge-HOWTO.xml"/>
     <language code="ja"/>
     </resource>
     </omf>
    
こんな感じです。

7.4. Makefile.am の追加

docs/Hoge-HOWTO/Makefile.am には

     SUBDIRS = C ja
    
などと存在する各言語に合わせたディレクトリを列挙します。

docs/Hoge-HOWTO/ja/Makefile.am には

     docname = Hoge-HOWTO
     lang = ja
     omffile = Hoge-HOWTO-ja.omf
     xml_ents =
     include $(top_srcdir)/xmldocs.make
     dist-hook: app-dist-hook
     figs = \
     figures/hoge1.jpg \
     figures/hoge2.png
    
などと書きます。

7.5. checknew.rb の実行

次に docs に移動し、

     $ ruby checknew.rb
    
とします。すると docs/configure.indocs/Makefile.am に Hoge-HOWTO のエントリーが追加されます。

7.6. make の実行

docs

     $ ./autogen.sh
     $ make
    
とすると docs/Hoge-HOWTO/ja 以下に html と txt に変換された物が生成されます。 きちんとエラーなく make されるのを確認したら svn commit しましよう。



[5] 7.1.「格納場所の準備」7.2.「xml ソースの準備」 は実はさりげに矛盾してますが、 意図してることはわかっていただけるかと...