YAMAGUCHI::weblog

海水パンツとゴーグルで、巨万の富を築きました。カリブの怪物、フリーアルバイター瞳です。

XSTLプロセッサ

動機

いまXSLT2.0、XPath2.0に準拠したXSLをゴリゴリと手書きしてますが、簡単にテストする環境がほしくなったのでいろいろと探してみました。いくつかXSLTプロセッサがあったのでちょっとまとめてみます。

一覧

名前 XSLT XPath 備考
Saxon 2.0 2.0 XSLT作者によるプロセッサ
Xalan 1.0 1.0 Apacheのプロジェクト
xsltproc 1.0 1.0 インストールが容易
XDK 2.0 2.0 ORACLEによるプロセッサ
XT 1.0 1.0 旧バージョンはWin32でも動作

設定

で、自分はXSLT2.0を「正式に」サポートしてるものを使いたかったのでSaxonを使うことにしました。

  • 環境

XMLをXSLを使って変換して別のXMLにするだけなら下記のコマンドでOK。

java -jar /WINDOWS_STYLE/PATH/TO/saxon9.jar -s:SOURCE -xsl:STYLE -o:RESULT

なお、いちいちsaxon9.jarまでのPathを書くのが面倒なのでとりあえず

  • saxon
#!/usr/bin/bash
java -cp /WINDOWS_STYLE/PATH/TO/saxon9.jar -s:${1} -xsl:${2} -o:${3} 

というシェルスクリプトを書いて、PATHが通ったところに置いてやりました。
なおsaxon9.jarまでのPATHはWindowsバイナリのJavaを叩いてる場合はWindows形式で表記してあげないとだめみたいです。そうしないと

Unable to access to jarfile

というようなエラーが出ます。