トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS

PythonでXsltを使うサンプル の変更点

Top / PythonでXsltを使うサンプル

*PythonでXsltを使うサンプル [#f223999c]

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コマンドみたいなものをつくってみた [#v634d49c]

まあ、他愛もないけど、Linuxのxsltprocコマンドみたいなのを作ってみました。

使い方はこんな感じ。

 python xstlproc xsltファイル xmlファイル [出力ファイル]
 python xstlproc.py xsltファイル xmlファイル [出力ファイル]

3つ目のオプション[出力ファイル]は任意です。指定しない場合、標準出力に出力します。


■[[xsltproc.py]]

#refpre("xsltproc.py",,1);

***リンク [#q2978c95]

-[[http://lxml.de/extensions.html]]