class REXML::Parsers::UltraLightParser

Public Class Methods

new(stream) click to toggle source
# File lib/rexml/parsers/ultralightparser.rb, line 7
def initialize stream
 @stream = stream
 @parser = REXML::Parsers::BaseParser.new( stream )
end

Public Instance Methods

add_listener( listener ) click to toggle source
# File lib/rexml/parsers/ultralightparser.rb, line 12
def add_listener( listener )
 @parser.add_listener( listener )
end
parse() click to toggle source
# File lib/rexml/parsers/ultralightparser.rb, line 21
def parse
 root = context = []
 while true
 event = @parser.pull
 case event[0]
 when :end_document
 break
 when :end_doctype
 context = context[1]
 when :start_element, :start_doctype
 context << event
 event[1,0] = [context]
 context = event
 when :end_element
 context = context[1]
 else
 context << event
 end
 end
 root
end
rewind() click to toggle source
# File lib/rexml/parsers/ultralightparser.rb, line 16
def rewind
 @stream.rewind
 @parser.stream = @stream
end