PythonでXsltを使うサンプル
PythonでXsltを使うサンプル †
lxmlライブラリのetreeを使ってPythonでxsltを扱うことが出来ます。
ちなみに、xsltのバージョンは1.0らしいです。
■コード
#!/usr/bin/env python from lxml import etree import StringIO xslt_root = etree.XML('''\ <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="/"> <foo><xsl:value-of select="/a/b/text()" /></foo> </xsl:template> </xsl:stylesheet>''') transform = etree.XSLT(xslt_root) f = StringIO.StringIO('<a><b>Text</b></a>') doc = etree.parse(f) result_tree = transform(doc) print str(result_tree)
■出力
<?xml version="1.0"?> <foo>Text</foo>
Pythonでxsltprocコマンドみたいなものをつくってみた †
まあ、他愛もないけど、Linuxのxsltprocコマンドみたいなのを作ってみました。
使い方はこんな感じ。
python xstlproc.py xsltファイル xmlファイル [出力ファイル]
3つ目のオプション[出力ファイル]は任意です。指定しない場合、標準出力に出力します。
■xsltproc.py?
#refpre("xsltproc.py",,1);