在python中使用xslt转换多个xml文件

时间:2015-08-18 07:40:08

标签: python xslt-2.0

我有一个运行在单个xml文件上的xslt脚本,我需要提供一个python代码,以便我可以使用该代码运行此xslt并使用一些python代码在xslt的输出中插入一些东西?是否可以使用python调用外部xslt脚本?

例如

input dir有一些xmls,xslt在这些输入xml上运行,并使用python脚本在输出目录中创建文件。

2 个答案:

答案 0 :(得分:0)

是的,可以这样做,请参阅How to transform XML with XSLT using Pythondocumentation

关于使用多个XML文件,您有几个选择:

  1. 使用参数并将其值设置为要加载的文档URI,并使用XSLT中的document函数加载多个输入文档
  2. 如果您只知道位置并且它是一个目录,某些处理器允许您使用`document('dir / with / xml / * .xml)'
  3. 如果失败,您可以创建URIResolver。如何做到这取决于您使用的处理器。
  4. 关于创建多个输出文档的问题,使用XSLT 1.0(通常与Python一起使用)不太容易,但是您可以切换到使用XSLT 2.0 with Python,但这需要更多努力建立。完成此操作后,如果您愿意,可以使用xsl:result-document创建多个结果文档以动态计算位置。

答案 1 :(得分:0)

您可以使用lxml执行此操作,但它仅支持xslt 1

{{1}}

要使用xslt 2,您可以查看Use saxon with python

中的选项