XSLT-преобразование Ruby / Nokogiri и внешняя функция - PullRequest
1 голос
/ 01 февраля 2012

Я хотел бы знать, реализовал ли Ruby / Nokogiri использование внешних функций в XSLT.

Если да, какой синтаксис?

1 Ответ

3 голосов
/ 01 февраля 2012

Вы можете использовать функции ruby ​​в ваших XSLT-файлах:

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>
...