動機
いま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
というようなエラーが出ます。