Methods
A
N
P
R
Class Public methods
new(stream)
# File lib/rexml/parsers/lightparser.rb, line 8
def initialize stream
  @stream = stream
  @parser = REXML::Parsers::BaseParser.new( stream )
end
Instance Public methods
add_listener( listener )
# File lib/rexml/parsers/lightparser.rb, line 13
def add_listener( listener )
  @parser.add_listener( listener )
end
parse()
# File lib/rexml/parsers/lightparser.rb, line 22
def parse
  root = context = [ :document ]
  while true
    event = @parser.pull
    case event[0]
    when :end_document
      break
    when :start_element, :start_doctype
      new_node = event
      context << new_node
      new_node[1,0] = [context]
      context = new_node
    when :end_element, :end_doctype
      context = context[1]
    else
      new_node = event
      context << new_node
      new_node[1,0] = [context]
    end
  end
  root
end
rewind()
# File lib/rexml/parsers/lightparser.rb, line 17
def rewind
  @stream.rewind
  @parser.stream = @stream
end