Sha256: ac6c78e6500f26e7e884cb19eee60eda797a5d0686c1c0fe2cb7621e8e297539

Contents?: true

Size: 582 Bytes

Versions: 16

Compression:

Stored size: 582 Bytes

Contents

description 'XSLT filter which transforms XML'
require 'nokogiri'

class XSLT < Filter
  def configure(options)
    super
    content = File.read(File.join(File.dirname(__FILE__), options[:stylesheet]))
    @xslt   = Nokogiri::XSLT(content)
  end

  def params(context)
    context.page.attributes.merge('title' => context.page.title, 'path' => context.page.path)
  end

  def filter(context, content)
    @xslt.apply_to(Nokogiri::XML(content, nil, 'UTF-8'),
                   Nokogiri::XSLT.quote_params(params(context)))
  end
end

Olelo::XSLT = XSLT
Filter.register :xslt, XSLT

Version data entries

16 entries across 16 versions & 1 rubygems

Version Path
olelo-0.9.15 plugins/filters/xslt.rb
olelo-0.9.14 plugins/filters/xslt.rb
olelo-0.9.13 plugins/filters/xslt.rb
olelo-0.9.12 plugins/filters/xslt.rb
olelo-0.9.11 plugins/filters/xslt.rb
olelo-0.9.10 plugins/filters/xslt.rb
olelo-0.9.9 plugins/filters/xslt.rb
olelo-0.9.8 plugins/filters/xslt.rb
olelo-0.9.7 plugins/filters/xslt.rb
olelo-0.9.6 plugins/filters/xslt.rb
olelo-0.9.5 plugins/filters/xslt.rb
olelo-0.9.4 plugins/filters/xslt.rb
olelo-0.9.3 plugins/filters/xslt.rb
olelo-0.9.2 plugins/filters/xslt.rb
olelo-0.9.1 plugins/filters/xslt.rb
olelo-0.9.0 plugins/filters/xslt.rb