Class REXML::Parsers::PullEvent
In: rexml/parsers/pullparser.rb
Parent: Object

A parsing event. The contents of the event are accessed as an +Array?, and the type is given either by the …? methods, or by accessing the type accessor. The contents of this object vary from event to event, but are identical to the arguments passed to +StreamListener+s for each event.

Methods

Public Class methods

The type of this event. Will be one of :tag_start, :tag_end, :text, :processing_instruction, :comment, :doctype, :attlistdecl, :entitydecl, :notationdecl, :entity, :cdata, :xmldecl, or :error.

[Source]

# File rexml/parsers/pullparser.rb, line 94
      def initialize(arg)
        @contents = arg
      end

Public Instance methods

[Source]

# File rexml/parsers/pullparser.rb, line 98
      def []( start, endd=nil)
        if start.kind_of? Range
          @contents.slice( start.begin+1 .. start.end )
        elsif start.kind_of? Numeric
          if endd.nil?
            @contents.slice( start+1 )
          else
            @contents.slice( start+1, endd )
          end
        else
          raise "Illegal argument #{start.inspect} (#{start.class})"
        end
      end

Content: [ String text ]

[Source]

# File rexml/parsers/pullparser.rb, line 147
      def attlistdecl?
        @contents[0] == :attlistdecl
      end

Content: [ String text ]

[Source]

# File rexml/parsers/pullparser.rb, line 178
      def cdata?
        @contents[0] == :cdata
      end

Content: [ String text ]

[Source]

# File rexml/parsers/pullparser.rb, line 137
      def comment?
        @contents[0] == :comment
      end

Content: [ String name, String pub_sys, String long_name, String uri ]

[Source]

# File rexml/parsers/pullparser.rb, line 142
      def doctype?
        @contents[0] == :start_doctype
      end

Content: [ String text ]

[Source]

# File rexml/parsers/pullparser.rb, line 152
      def elementdecl?
        @contents[0] == :elementdecl
      end

Content: [ String tag_name ]

[Source]

# File rexml/parsers/pullparser.rb, line 122
      def end_element?
        @contents[0] == :end_element
      end

Content: [ String text ]

[Source]

# File rexml/parsers/pullparser.rb, line 173
      def entity?
        @contents[0] == :entity
      end

Due to the wonders of DTDs, an entity declaration can be just about anything. There‘s no way to normalize it; you‘ll have to interpret the content yourself. However, the following is true:

  • If the entity declaration is an internal entity: [ String name, String value ]

Content: [ String text ]

[Source]

# File rexml/parsers/pullparser.rb, line 163
      def entitydecl?
        @contents[0] == :entitydecl
      end

[Source]

# File rexml/parsers/pullparser.rb, line 187
      def error?
        @contents[0] == :error
      end

[Source]

# File rexml/parsers/pullparser.rb, line 112
      def event_type
        @contents[0]
      end

[Source]

# File rexml/parsers/pullparser.rb, line 191
      def inspect
        @contents[0].to_s + ": " + @contents[1..-1].inspect
      end

Content: [ String text ]

[Source]

# File rexml/parsers/pullparser.rb, line 132
      def instruction?
        @contents[0] == :processing_instruction
      end

Content: [ String text ]

[Source]

# File rexml/parsers/pullparser.rb, line 168
      def notationdecl?
        @contents[0] == :notationdecl
      end

Content: [ String tag_name, Hash attributes ]

[Source]

# File rexml/parsers/pullparser.rb, line 117
      def start_element?
        @contents[0] == :start_element
      end

Content: [ String raw_text, String unnormalized_text ]

[Source]

# File rexml/parsers/pullparser.rb, line 127
      def text?
        @contents[0] == :text
      end

Content: [ String version, String encoding, String standalone ]

[Source]

# File rexml/parsers/pullparser.rb, line 183
      def xmldecl?
        @contents[0] == :xmldecl
      end

[Validate]

ruby-doc.org is a community service provided by James Britt and Happy Camper Studios, a Phoenix, Arizona, Ruby application development company.

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.