REXML::Parsers::UltraLightParser (Class)

In: rexml/parsers/ultralightparser.rb
Parent: Object

Methods

new   parse   rewind  

Public Class methods

[Source]

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

Public Instance methods

[Source]

# File rexml/parsers/ultralightparser.rb, line 17
                        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, :doctype
                                                context << event
                                                event[1,0] = [context]
                                                context = event
                                        when :end_element
                                                context = context[1]
                                        else
                                                context << event
                                        end
                                end
                                root
                        end

[Source]

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

[Validate]