class Saxerator::Adapters::Ox
Attributes
attributes[R]
name[RW]
reader[R]
Public Class Methods
new(reader)
click to toggle source
# File lib/saxerator/adapters/ox.rb, line 18 def initialize(reader) @reader = reader @attributes = {} @name = '' end
parse(source, reader)
click to toggle source
# File lib/saxerator/adapters/ox.rb, line 9 def self.parse(source, reader) handler = new(reader) ::Ox.sax_parse(handler, source) end
Public Instance Methods
attr(name, value)
click to toggle source
# File lib/saxerator/adapters/ox.rb, line 30 def attr(name, value) attributes[name.to_s] = value end
end_element(name)
click to toggle source
# File lib/saxerator/adapters/ox.rb, line 42 def end_element(name) guard! name = name.to_s name = strip_namespace(name) if reader.ignore_namespaces? reader.end_element(name) end
error(message, _, _)
click to toggle source
# File lib/saxerator/adapters/ox.rb, line 57 def error(message, _, _) raise Saxerator::ParseException, message end
guard!()
click to toggle source
# File lib/saxerator/adapters/ox.rb, line 25 def guard! reader.start_element(name, attributes.to_a) unless name.empty? reset! end
start_element(name)
click to toggle source
# File lib/saxerator/adapters/ox.rb, line 34 def start_element(name) guard! name = name.to_s name = strip_namespace(name) if reader.ignore_namespaces? self.name = name end
text(str)
click to toggle source
# File lib/saxerator/adapters/ox.rb, line 50 def text(str) guard! reader.characters(str) end
Also aliased as: cdata
Private Instance Methods
reset!()
click to toggle source
# File lib/saxerator/adapters/ox.rb, line 63 def reset! @attributes.clear @name = '' end
strip_namespace(name)
click to toggle source
# File lib/saxerator/adapters/ox.rb, line 68 def strip_namespace(name) name.split(':').last end