<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE book PUBLIC "-//OASIS//DTD DocBook XML V4.5//EN"
"http://www.oasis-open.org/docbook/xml/4.5/docbookx.dtd">

<!-- WysiwygDocbook CSS allows you to display DocBook XML directly in a web brwoser -->
<?xml-stylesheet href="wysiwigdocbook/driver.css" type="text/css"?>

<book lang="ja">
  <title>DocBookで日本語の文書を作る</title>

  <chapter>
    <title>図と表</title>

    <para>DocBook形式で日本語の文書を作る実験をしました。</para>

    <para>最初は図です。GIFのファイルを読み込んでみます。</para>

    <figure>
      <title>ツールチェイン</title>

      <mediaobject>
        <imageobject>
          <imagedata fileref="../src/toolchain.gif" format="GIF" />
        </imageobject>
      </mediaobject>
    </figure>

    <para>続いて表です。表を書くタグはDocBook由来のものとHTMLに近いものとあります。ここではDocBook由来のものを使ってみます。</para>

    <table>
      <title>主なツール</title>

      <tgroup cols="3">
        <thead>
          <row>
            <entry>製品名</entry>

            <entry>種類</entry>

            <entry>説明</entry>
          </row>
        </thead>

        <tbody>
          <row>
            <entry>xsltproc</entry>

            <entry>XSLT</entry>

            <entry><para>UNIX環境で利用できるC言語のXSLTプロセッサ。WindowsでもCygin環境で利用できる。</para></entry>
          </row>

          <row>
            <entry>Saxon</entry>

            <entry>XSLT</entry>

            <entry><para>Javaで書かれたXSLTプロセッサ</para></entry>
          </row>

          <row>
            <entry>Apache Xalan</entry>

            <entry>XSLT</entry>

            <entry><para>Javaで書かれたXSLTプロセッサ</para></entry>
          </row>

          <row>
            <entry>Apache FOP</entry>

            <entry>XSL-FO</entry>

            <entry><para>Javaで書かれたFOプロセッサ。</para></entry>
          </row>

          <row>
            <entry>DocBook XSL</entry>

            <entry>XSL</entry>

            <entry><para>DocBook XMLを各種出力形式に変換するXSL集。</para></entry>
          </row>

          <row>
            <entry>WYSIWYGdocbook</entry>

            <entry>CSS</entry>

            <entry><para>DocBook用CSS（Cascading
            Stylesheet）。プロセッサで変換せずにブラウザで直接プレビューできるので便利。</para></entry>
          </row>
        </tbody>
      </tgroup>
    </table>

    <indexterm>
      <primary sortas="ず">図</primary>
    </indexterm>

    <indexterm>
      <primary sortas="ひょう">表</primary>
    </indexterm>

    <indexterm>
      <primary>WYSIWYGdocbook</primary>
    </indexterm>
  </chapter>

  <chapter>
    <title>箇条書き</title>

    <para>章を改めて、次は箇条書きを作ってみます。箇条書きの種類ごとに節に分けてみます。</para>

    <section>
      <title>丸付き</title>

      <para>まずは丸付きの箇条書き（itemizedlist）です</para>

      <para>DocBook XSLで作成できる文書形式を列挙します。</para>

      <itemizedlist>
        <listitem>
           HTML 
        </listitem>

        <listitem>
           XHTML 
        </listitem>

        <listitem>
           Windows Help (HtmlHelp) 
        </listitem>

        <listitem>
           FO（PDFを作るもとになる） 
        </listitem>

        <listitem>
           WordML（Microsoft WordのXML形式） 
        </listitem>

        <listitem>
           ... 
        </listitem>
      </itemizedlist>

      <para>このうち筆者はApache Xalan/FOPを用いて、HTML、PDF、HtmlHelpを試してみました。</para>

      <indexterm>
        <primary sortas="かじょうがき">箇条書き</primary>
      </indexterm>

      <indexterm>
        <primary>WordML</primary>
      </indexterm>

    </section>

    <section>
      <title>番号付き</title>

      <para>番号付きの箇条書き（orderedlist）の例として、DocBook XSLでWindows
      Help（HtmlHelp）を作る手順です。</para>

      <orderedlist numeration="arabic">
        <listitem>
          <para>DocBook原稿を書く。大半をテキストエディタで書いたあと、XMLMind XML
          Editorで確認、整形、その後すこし手を入れる、という手順を取った。</para>
        </listitem>

        <listitem>
          <para>Apache FOPに含まれているXalan
          XSLTプロセッサで、HtmlHelpのプロジェクトソースを生成。</para>
        </listitem>

        <listitem>
          <para>Xalanの出力はそのままでは日本語が文字化けしたり検索が通らなかったりするので、横浜工文社製一括置換プログラム、<ulink
          url="http://www.kobu.com/cooker">Text Cooker</ulink>で修正。</para>
        </listitem>

        <listitem>
          <para>HtmlHelp
          WorkshopでコンパイルしてCHMファイルを生成。これで、日本語が正しく表示され、日本語の検索もできるヘルプができあがった。</para>
        </listitem>
      </orderedlist>

      <indexterm>
        <primary sortas="もじばけ">文字化け</primary>
      </indexterm>

      <indexterm>
        <primary>XMLMind</primary>
      </indexterm>

    </section>

    <section>
      <title>定義型</title>

      <para>HTMLの&lt;DL&gt;にあたる用語とその定義を表す形式の箇条書きです。</para>

      <variablelist>
        <varlistentry>
          <term>XSL (eXtended Stylesheet Language)</term>

          <listitem>
            <para>XML文書を変換したり、表示や印刷ができるよう整形するための、W3Cの勧告。</para>

            <para>XSL = XSLT + XSL-FO</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>XSLT (XSL Transformation)</term>

          <listitem>
            <para>XML文書の変換方法を書いたXML文書。変換先はXMLやHTMLやテキスト、そして次のFOなど。</para>
          </listitem>
        </varlistentry>

        <varlistentry>
          <term>XSL-FO (XSL Formatting Objects)</term>

          <listitem>
            <para>XML形式の組版命令。Apache FOPでFOをPDFに変換できる。</para>
          </listitem>
        </varlistentry>
      </variablelist>

    </section>
  </chapter>

  <index></index>
</book>

