Ruby / Nokogiri XSLT转换和外部函数

时间:2012-02-01 14:54:30

标签: ruby xslt nokogiri

我想知道Ruby / Nokogiri是否在XSLT中实现了外部函数使用。

如果是,那么语法是什么?

1 个答案:

答案 0 :(得分:3)

您可以通过以下方式在XSLT文件中使用ruby函数:

myfuncs = Class.new do
  def func1(a, b)
    # do processing here
  end
end

Nokogiri::XSLT.register "http://example.com/functions", myfuncs

在XSLT文件中,不要忘记将其添加到根元素:

<xsl:stylesheet xmlns:my="http://example.com/functions" extension-element-prefixes="my">

然后你可以使用这样的函数:

<xsl:template match="p">
  <xsl:value-of select="my:func1(@a, @b)"/>
</xsl:template>