読者です 読者をやめる 読者になる 読者になる

YAMAGUCHI::weblog

土足で窓から失礼いたします。今日からあなたの息子になります。 当年とって92歳、下町の発明王、エジソンです。

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

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