XSLTプロセッサXalan-C++の使い方

WindowsでXalan-C++を使う方法を説明します。

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++
最新版: http://www.apache.org/dist/xml/xalan-c/binaries/
旧版: http://archive.apache.org/dist/xml/xalan-c/binaries/
Xerces-C++
最新版: http://www.apache.org/dist/xml/xerces-c/binaries/
旧版: http://archive.apache.org/dist/xml/xerces-c/

インストール

ここでは、Xalan-C++ 1.9とXerces-C++ 2.6.0を例に説明します。必要なファイルは次の4つです。始めの3つはXalan-C++のbinフォルダ、最後の1つはXerces-C++のbinフォルダに入っています。

  • Xalan.exe
  • Xalan-C_1_9.dll
  • XalanMessages_1_9.dll
  • xerces-c_2_6.dll

これらのファイルを適当なフォルダに移します。ここでは 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から拡張子を取り除いた文字列が入ります。

関連リソース