Module: MultiSAX::Callbacks

Defined in:
lib/multisax.rb

Overview

MultiSAX callbacks. MultiSAX::Sax listener should include this module.

Instance Method Summary collapse

Instance Method Details

#sax_cdata(text) ⇒ Object



251
# File 'lib/multisax.rb', line 251

def sax_cdata(text) end

#sax_comment(text) ⇒ Object



250
# File 'lib/multisax.rb', line 250

def sax_comment(text) end

#sax_end_element_namespace(name, prefix = nil, uri = nil) ⇒ Object



244
245
246
247
# File 'lib/multisax.rb', line 244

def sax_end_element_namespace name, prefix = nil, uri = nil
  # Deal with SAX v1 interface
  sax_tag_end [prefix, name].compact.join(':')
end

#sax_start_element_namespace(name, attrs = [], prefix = nil, uri = nil, ns = []) ⇒ Object

Cited from Nokogiri to convert Nokogiri::XML::SAX::Document into module.

https://github.com/sparklemotion/nokogiri/blob/master/lib/nokogiri/xml/sax/document.rb


234
235
236
237
238
239
240
241
242
243
# File 'lib/multisax.rb', line 234

def sax_start_element_namespace name, attrs = [], prefix = nil, uri = nil, ns = []
      # Deal with SAX v1 interface
      name = [prefix, name].compact.join(':')
      attributes = ns.map { |ns_prefix,ns_uri|
        [['xmlns', ns_prefix].compact.join(':'), ns_uri]
      } + attrs.map { |attr|
        [[attr.prefix, attr.localname].compact.join(':'), attr.value]
      }
      sax_tag_start name, attributes
end

#sax_tag_end(tag) ⇒ Object



249
# File 'lib/multisax.rb', line 249

def sax_tag_end(tag) end

#sax_tag_start(tag, attr) ⇒ Object



248
# File 'lib/multisax.rb', line 248

def sax_tag_start(tag,attr) end

#sax_text(text) ⇒ Object



252
# File 'lib/multisax.rb', line 252

def sax_text(text) end

#sax_xmldecl(version, encoding, standalone) ⇒ Object



253
# File 'lib/multisax.rb', line 253

def sax_xmldecl(version,encoding,standalone) end