Module: Nokogiri::XSLT
- Defined in:
- lib/nokogiri/xslt.rb,
lib/nokogiri/xslt/stylesheet.rb,
lib/nokogiri/ffi/xslt/stylesheet.rb,
ext/nokogiri/nokogiri.c,
ext/nokogiri/xslt_stylesheet.c
Overview
See Nokogiri::XSLT::Stylesheet for creating and maniuplating Stylesheet object.
Defined Under Namespace
Classes: Stylesheet
Class Method Summary collapse
-
.parse(string, modules = {}) ⇒ Object
Parse the stylesheet in
string, register anymodules. -
.quote_params(params) ⇒ Object
Quote parameters in
paramsfor stylesheet safety. -
.register(uri, custom_handler_class) ⇒ Object
Register a class that implements custom XLST transformation functions.
Class Method Details
.parse(string, modules = {}) ⇒ Object
Parse the stylesheet in string, register any modules
24 25 26 27 28 29 30 |
# File 'lib/nokogiri/xslt.rb', line 24 def parse string, modules = {} modules.each do |url, klass| XSLT.register url, klass end Stylesheet.parse_stylesheet_doc(XML.parse(string)) end |
.quote_params(params) ⇒ Object
Quote parameters in params for stylesheet safety
34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 |
# File 'lib/nokogiri/xslt.rb', line 34 def quote_params params parray = (params.instance_of?(Hash) ? params.to_a.flatten : params).dup parray.each_with_index do |v,i| if i % 2 > 0 parray[i]= if v =~ /'/ "concat('#{ v.gsub(/'/, %q{', "'", '}) }')" else "'#{v}'"; end else parray[i] = v.to_s end end parray.flatten end |
.register(uri, custom_handler_class) ⇒ Object
Register a class that implements custom XLST transformation functions.
20 21 22 |
# File 'lib/nokogiri/ffi/xslt/stylesheet.rb', line 20 def self.register(uri, klass) # :nodoc: raise NotImplementedError.new("sorry, you should implement me.") end |