Thu, January 14, 2010
XSLT変換処理あれこれ
諸事情によりいろいろな方法でXSLTによるXML変換をするので、 そのやり方メモ。
saxon を使う(Makefile)
入手方法
変換
$ java -jar saxon9.jar -novw -xsl:conv.xsl -s:src.xml -o:result.xml
Makefile
stylesheet := conv.xsl
result.xml : src.xml
java -jar saxon9.jar -novw -xsl:$(stylesheet) -s:$< -o:$@
コメント
java さえれば使えるのはうれしい。 いろいろなOS環境でXMLを変換する場合に重宝する。
xsltproc を使う
入手方法
apt-get install xsltproc でOK
変換
$ xsltproc conv.xsl src.xml > result.xml
Makefile
stylesheet := conv.xsl
result.xml : src.xml
xsltproc $(stylesheet) $< > $@
コメント
xsltprocコマンドが使える環境であれば、もっとも手軽。
ant のxsltタスクを利用
入手方法
- apt-get install ant でOK
- ant home page
build.xml
<?xml version="1.0" encoding="UTF-8" ?>
<project default="myxslt" >
<target name="myxslt" >
<xslt in="src.xml" out="result.xml" style="conv.xsl" />
</target>
</project>
Makefile
Makefileから使うAntを使うには...
1) ant_xslt.xml という以下のようなXMLを作成
<?xml version="1.0" encoding="UTF-8" ?>
<project basedir="." default="myxslt" >
<target name="myxslt" >
<property name="work" value="__work" />
<xslt in="${xml}" out="${work}" style="${xsl}" />
<move file="${work}" tofile="${xml}" />
</target>
</project>
2) Makefile
stylesheet := conv.xsl
result.xml : src.xml
@cp $< $@
@ant -f ant_xslt.xml -Dxml=$@ -Dxsl=$(stylesheet)
コメント
Antだけ入っていれば使えるのがグッド。