在Ruby中执行XSL转换的最佳方法(XSLT 2.0)

时间:2010-12-21 11:12:09

标签: ruby xml nokogiri xslt

在Ruby中执行XSL转换的最佳和最有效的方法是什么? 我尝试了Nokogiri,但无论我尝试了什么,它总会导致:

compilation error: element stylesheet

样式表在我的XML编辑器中运行良好。

我在Linux上使用Ruby 1.9.3。


在探索之后,我发现Nokogiri不支持XSLT 2.0:

  

Nokogiri使用libxml2,它只支持XPath 1.0 / XSLT1.0

我的样式表是使用XSLT 2.0语法编写的。我更新了这个问题的标题以反映这一点。我希望Nokogiri以更有意义的方式回应它。

  

为什么要执行XSL转换?好奇。

我正在开发一个向其他网站提交XML Feed的网站。每个Feed都有不同的格式,但Feed的数据来源是相同的。因此,我决定使用从数据库提供的XSL样式表,而不是为每个Feed编写自定义代码。这样我就可以通过上传新的样式表来创建新的Feed。

1 个答案:

答案 0 :(得分:5)

可以通过saxon-xslt gem在JRuby中使用XSLT 2.0。我不认为通过其他Ruby实现可以做到这一点。当然MRI红宝石依赖于尚未实施XPath 2.0的libxml。有关详细信息,请参阅this thread