Support for the Ruby 2.1 series ended on March 31 2017. See here for details.

In Files

  • rexml/parsers/ultralightparser.rb

Class/Module Index [+]

Quicksearch

REXML::Parsers::UltraLightParser

Public Class Methods

new(stream) click to toggle source
 
               # File 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 rexml/parsers/ultralightparser.rb, line 12
def add_listener( listener )
  @parser.add_listener( listener )
end
            
parse() click to toggle source
 
               # File 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 rexml/parsers/ultralightparser.rb, line 16
def rewind
  @stream.rewind
  @parser.stream = @stream
end