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

Vin*_*ent 7 ruby xml xslt nokogiri

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

compilation error: element stylesheet
Run Code Online (Sandbox Code Playgroud)

样式表在我的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.

ron*_*mac 5

可以通过saxon-xslt gem在JRuby中使用XSLT 2.0 .我不认为通过其他Ruby实现可以做到这一点.当然,MRI ruby​​将依赖于尚未实现XPath 2.0的libxml.有关更多信息,请参阅此主题.