Index > XSLT変換処理あれこれ
Thu, January 14, 2010

XSLT変換処理あれこれ

諸事情によりいろいろな方法でXSLTによるXML変換をするので、 そのやり方メモ。

saxon を使う(Makefile)

入手方法

saxon home page

変換

$ 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タスクを利用

入手方法

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だけ入っていれば使えるのがグッド。

 Twitter
follow me on Twitter
 Categories