Class REXML::Parsers::LightParser
In: rexml/parsers/lightparser.rb
Parent: Object

Methods

add_listener   new   parse   rewind  

Public Class methods

[Source]

# File rexml/parsers/lightparser.rb, line 8
                        def initialize stream
                                @stream = stream
                                @parser = REXML::Parsers::BaseParser.new( stream )
                        end

Public Instance methods

[Source]

# File rexml/parsers/lightparser.rb, line 13
      def add_listener( listener )
        @parser.add_listener( listener )
      end

[Source]

# File rexml/parsers/lightparser.rb, line 22
                        def parse
                                root = context = [ :document ]
                                while true
                                        event = @parser.pull
                                        case event[0]
                                        when :end_document
                                                break
                                        when :end_doctype
                                                context = context[1]
                                        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

[Source]

# File rexml/parsers/lightparser.rb, line 17
      def rewind
        @stream.rewind
        @parser.stream = @stream
      end

[Validate]

ruby-doc.org is hosted and maintained by James Britt and Happy Camper Studios, a Ruby application development company in Phoenix, Arizona. The site was created in 2002 as part of the Ruby Documentation Project to promote the Ruby language and to help other Ruby hackers.

Documentation content on ruby-doc.org is provided by remarkable members of the Ruby community.

For more information on the Ruby programming language, visit ruby-lang.org.

Want to help improve Ruby's API docs? See Ruby Documentation Guidelines.