Class: Ramaze::Template::XSLT

Inherits:
Template show all
Defined in:
lib/ramaze/template/xslt.rb

Constant Summary collapse

XSLT_EXT_FUNCTIONS_LOCK =
Mutex.new

Class Method Summary collapse

Methods inherited from Template

caching_compile, reaction_or_file, render_method, result_and_file, wrap_compile

Methods included from Helper::Methods

extend_object, #helper, included

Class Method Details

.transform(action) ⇒ Object

Entry point for Action#render



26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
# File 'lib/ramaze/template/xslt.rb', line 26

def transform action

  if options = action.instance.ancestral_trait[:xslt_options] and
      fun_xmlns = options[:fun_xmlns]
    # If a controller uses extFunctions, lock the whole
    # transform action with a Mutex to prevent mixing
    # extFunction binding and callback of two controller
    # instances with one fun_xmlns.
    ext_functions_synchronize do
      register_ext_functions action.instance, fun_xmlns
      do_transform action
    end

  else
    do_transform action
  end

end