本家XMLドキュメントのHTML変換ガイド

  このドキュメントは本家のXMLドキュメントをHTMLに変換する方法を紹介します。




Contents:

1. はじめに

2. 必要なファイルの準備

3. 実行準備 - Gentoo編

4. 実行準備 - Windows編

5. 実行

6. うまくいかない時は?

Author : GentooJP
Editor : nigoro


Updated 28 Nov 2004




1.はじめに

ドキュメントを翻訳した後、実際に表示される内容で確認したいと思ったことはありませんか? また、査読中にXMLタグがちょっと邪魔だなと思ったことは? それとも、翻訳した時にXMLタグを消してしまって文法エラーがあるかも…とちょっと不安になりませんか?

このドキュメントは本家のXMLドキュメントを実際にHTMLへ変換する実例を示しながらわかりやすく説明しますので、そんなあなたに打って付けのものになるはずです。なお、このドキュメントはDocumentation Development Tips & Tricksを参考に作成されています。

Note:

とはいえ、変換してしまうと本家XMLドキュメントと翻訳したXMLドキュメントの間でタグが合致しているのか分からなくなってしまうので、XMLドキュメントも読んでくださいね。

2.必要なファイルの準備

ファイルを保存するディレクトリ(フォルダ)を作成する 

まず、変換したいXMLドキュメントを置くディレクトリを作成します。このドキュメントでは、このディレクトリをGentoo Linuxの場合は~/jadoc、Windowsの場合はC:\jadocに作成したものとして説明していきます。

次に、作成したディレクトリにサブディレクトリを作成します。以下に挙げるディレクトリを作成してください。

Gentoo Windows
~/jadoc/dtd C:\jadoc\dtd
~/jadoc/xsl C:\jadoc\xsl
~/jadoc/css C:\jadoc\css
~/jadoc/images C:\jadoc\images

必要なファイルをダウンロードして準備する 

ちょっと大変ですが、HTMLに変換するために必要なファイルを準備しましょう。

以下に挙げるファイルを先ほど作成したディレクトリに保存してください。その際、書かれているディレクトリと同じ場所にファイルを置くようにしてください。つまり、guide.dtdならば~/jadoc/dtd(C:\jadoc\dtd)に、main.cssならば~/jadoc/css(C:\jadoc\css)というように保存してください。

そして、SwifTさんのウェブスペースからローカルで変換できるようにした特別なguide.xslをxslディレクトリにダウンロードします。Windows環境やブラウザを使った場合、guide.xslの拡張子がxmlに変わってしまったり、xslの後にxmlが付いてしまうことがありますので気を付けてください。

実際に変換を行うために準備をする必要があります。Gentooをお使いの場合は、実行準備 - Gentoo編に、Windowsをお使いの場合は実行準備 - Windows編に進んでください。

3.実行準備 - Gentoo編

変換と文法チェックに必要なパッケージをインストールする 

Gentooですので、インストールはemergeするだけですね。

Code listing 3.1: libxml2とlibxsltのインストール
emerge libxml2 libxslt

そして、/etc/xml/catalogに以下の内容を追加します。hogeの部分はユーザー名を入れてください。

Code listing 3.2: /etc/xml/catalogへ追加する内容
<rewriteURI uriStartString="/dtd" rewritePrefix="/home/hoge/jadoc/dtd"/>

Warning:

初めてcatalogに追加する場合、3行目のcatalogタグが閉じられている(最後に/がある)場合があります。このままで追加するとエラーが出てしまいますので、catalogタグ以降をWindows編のcatalog.txtと同等の内容にしてください。

さあ、実行する準備ができました。実行へ進んで実際に試してみてください。

4.実行準備 - Windows編

Note:

このドキュメントではWindows 2000/XPを対象にしています。

変換と文法チェックに必要なパッケージをインストールする 

まず、http://xmlsoft.org/sources/win32/から次のファイルをダウンロードします。

  • iconv-1.9.1.win32.zip
  • libxml2-2.6.15.win32.zip
  • libxslt-1.1.12.win32.zip
  • zlib-1.2.1.win32.zip

Note:

これらは現時点(04/11/28)での最新バージョンです。これより新しいバージョンがある場合はそちらをダウンロードしてください。

次に、それらを適当なフォルダに解凍します。拡張子(.zip)を除いた部分のフォルダが自動的に作成されますが、必要なのはそのフォルダに入っているbinlibincludeutilフォルダだけです。C:\xsltprocというフォルダを作成し、その中に前述のフォルダを移動してください。(上書きの確認ダイアログではすべて上書きを選んでください)

さらに、環境変数のPATHに2つのディレクトリを追加し、新しい環境変数SGML_CATALOG_FILESを作成します。

環境変数PATHは次のように設定します。ただし、既にユーザーの環境変数でPATHを設定している場合は、新規ボタンを押すかわりに変数PATHの部分を選択して編集ボタンをクリックします。そして、既に設定されている変数値の最後に;C:\xsltproc\bin;C:\xsltproc\libを追加してください。

  1. コントロールパネルでシステムを開き、詳細設定タブをクリックします。
  2. 環境変数ボタンをクリックします。
  3. ユーザーの環境変数の所の新規ボタンをクリックします。
  4. 変数名にPATHと入力し、変数値にC:\xsltproc\bin;C:\xsltproc\libと入力してOKをクリックします。

続いて、環境変数SGML_CATALOG_FILESを設定します。

  1. ユーザーの環境変数の所の新規ボタンをクリックします。
  2. 変数名にSGML_CATALOG_FILESと入力し、変数値にC:\xsltproc\catalog.txtと入力してOKをクリックします。
  3. 後は、OKを何度かクリックしてシステムのプロパティを閉じます。

最後に、以下の内容を記述したテキストファイルを作り、C:\xsltproc\catalog.txtとして保存します。

Code listing 4.1: C:\xsltproc\catalog.txtとして保存する内容
<?xml version="1.0"?>
<!DOCTYPE catalog PUBLIC "-//OASIS//DTD Entity Resolution XML Catalog V1.0//EN"
 "http://www.oasis-open.org/committees/entity/release/1.0/catalog.dtd">
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog">
<rewriteURI uriStartString="/dtd" rewritePrefix="C:/jadoc/dtd"/>
</catalog>

さあ、実行する準備ができました。実行へ進んで実際に試してみてください。

5.実行

一般的なドキュメントをHTMLに変換する 

変換したいXMLドキュメントをjadocディレクトリに入れましたか? それでは実行してみましょう。(ここでは変換したいXMLドキュメントのファイル名をhoge.xmlとして説明しています)

Gentooの場合は、コンソールや端末エミュレータで次のコマンドを入力してください。

Code listing 5.1: GentooでXMLをHTMLに変換する
cd ~/jadoc
xmllint --valid --noout hoge.xml
xsltproc --novalid xsl/guide.xsl hoge.xml > hoge.html

Windowsの場合は、コマンド プロンプトを実行して次のコマンドを入力してください。

Code listing 5.2: WindowsでXMLをHTMLに変換する
C:
cd \jadoc
xmllint --catalogs --valid --noout hoge.xml
xsltproc --catalogs xsl\guide.xsl hoge.xml > hoge.html

エラーが出なかったら、jadocディレクトリを見てみましょう。hoge.htmlができているはずです!

ハンドブックをHTMLに変換する 

まず、変換したいハンドブックのアーキテクチャのトップにあたるXMLドキュメントをViewCVS経由で入手し、最初に作成したXMLドキュメントを置くディレクトリに保存します(例えばhandbook-x86.xml)。また、変換したいハンドブックのXMLドキュメントも同様にします。

次に、変換したいXMLドキュメントがどのパートのどの章なのかを調べます。Gentoo.orgのハンドブックを見て確認してください。例えば、「Gentoo Linuxのインストールについて」(hb-install-about.xml)はパート1の1章です。

最後に、xsltprocのオプションとしてパート番号(part)と章番号(chap)を与えてHTMLへ変換します。変換したい章に合わせて設定してください。この例ではパート1の1章、hb-install-about.xmlを変換しています。

Code listing 5.3: GentooでハンドブックをHTMLに変換する
xmllint --valid --noout handbook-x86.xml
xmllint --valid --noout hb-install-about.xml
xsltproc --stringparam part 1 --stringparam chap 1 xsl/guide.xsl handbook-x86.xml > hb-install-about.html
Code listing 5.4: WindowsでハンドブックをHTMLに変換する
xmllint --catalogs --valid --noout handbook-x86.xml
xmllint --catalogs --valid --noout hb-install-about.xml
xsltproc --catalogs --stringparam part 1 --stringparam chap 1 xsl/guide.xsl handbook-x86.xml > hb-install-about.html

エラーが出なかったら、jadocディレクトリを見てみましょう。hb-install-about.htmlができているはずです!

xmllint実行時に警告・エラーが出ます… 

xmllintはXMLの文法をチェックするコマンドです。ここでエラーが表示された場合、XMLドキュメントに文法的なエラーがある可能性があります。行番号も一緒に表示されますのでそのあたりを重点的に見直してみてください。

タグの閉じ忘れなどのエラーの場合、一つ閉じ忘れただけでいくつもエラーが表示されてしまう事があります。この場合、一番最初に表示されたエラーを修正するだけで解決することがほとんどですので、安心してください。

6.うまくいかない時は?

気軽にdocs MLにメールを出してください。:-)

Copyright© 2002-2014 Gentoo Linux Users Group Japan. All rights reserved.

このサイトはGentooJPが運営するGentoo.org非公式コミュニティサイトです。ご質問、ご意見などはこちらまで。 Email: www@gentoo.gr.jp