WindowsでXalan-C++を使う方法を説明します。
XalanはApache XML Projectによって開発されているXSLTプロセッサです。Javaで書かれたもの(Xalan-Java)とC++で書かれたもの(Xalan-C++)があります。
Xalan-C++はC++で書かれているだけあって、Xalan-Javaよりも高速で作動します。Javaで書かれたXSLTプロセッサ(Xalan-JavaやSaxon)の処理速度に不満がある方にお勧めです。
Xalan-C++はXMLプロセッサであるXerces-C++を使用します。Xalan-C++のバージョンによって必要とするXerces-C++のバージョンが異なるので注意してください。
2005年9月17日現在、最新版のXalan-C++のWindows向け配布ファイルはXalan-C_1_9_0-win32-msvc_60.zipで、それに対応するXerces-C++の配布ファイルはxerces-c2_6_0-windows_nt-msvc_60.zipです。
次のページからXalan-C++とXerces-C++の配布ファイルをダウンロードしてください。
ここでは、Xalan-C++ 1.9とXerces-C++ 2.6.0を例に説明します。必要なファイルは次の4つです。始めの3つはXalan-C++のbinフォルダ、最後の1つはXerces-C++のbinフォルダに入っています。
これらのファイルを適当なフォルダに移します。ここでは C:\Xalan フォルダに入れることにします。
Xalanはコマンドラインから操作します。コマンドプロンプトを起動してください(【スタート】→【プログラム】→【アクセサリ】にあるはずです)。
まず、Xalanをインストールしたフォルダ(ここではC:\Xalan)をパスに加えます。次のように入力してEnterキーを押します。
path %PATH%;C:\Xalan
次に、Xalanと入力してEnterキーを押します。Xalanを利用できるようになっていれば、次のように使い方の説明が表示されます。
Usage: Xalan [options] source stylesheet
Options:
-a Use xml-stylesheet PI, not the 'stylesheet' argument
-e encoding Force the specified encoding for the output.
-i integer Indent the specified amount.
-m Omit the META tag in HTML output.
-o filename Write output to the specified file.
-p name expression Sets a stylesheet parameter.
-t Display timing information.
-u Disable escaping of URLs in HTML output.
-? Display this message.
-v Validates source documents.
- A dash as the 'source' argument reads from stdin.
('-' cannot be used for both arguments.)
この説明の通り、Xalanの後にオプション、変換するXML文書のパス、XSLTスタイルシートのパスの順に入力します。例えば、 D:\xslt\sample.xml に D:\xslt\sample.xsl を適用して変換結果を D:\xslt\sample.html に出力する場合は、次のように入力します。
Xalan -o D:\xslt\sample.html D:\xslt\sample.xml D:\xslt\sample.xsl
ファイルのパスは相対パスでも構いません。カレントディレクトリが D:\xslt であれば次のように書くこともできます。
Xalan -o sample.html sample.xml sample.xsl
バッチファイルを作成して、ドラッグ&ドロップでXSLTを実行できるようにします。テキストエディタ(メモ帳など)で次のようなテキストファイルを作成して拡張子を".bat"にして下さい。
path %PATH%;C:\Xalan Xalan -o %~dpn1.html %1 D:\xslt\sample.xsl pause
このバッチファイルに他のファイルをドラッグ&ドロップすると、%1にドロップしたファイルのパスが入り、%~dpn1には%1から拡張子を取り除いた文字列が入ります。