Class: REXML::Parsers::PullEvent

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

[] attlistdecl? cdata? comment? doctype? elementdecl? end_element? entity? entitydecl? error? event_type inspect instruction? new notationdecl? start_element? text? xmldecl?

### Public Class methods

new(arg)

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 93
          def initialize(arg)
            @contents = arg
          end

### Public Instance methods

[]( start, endd=nil)

[Source]

    # File rexml/parsers/pullparser.rb, line 97
          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

attlistdecl?()

Content: [ String text ]

[Source]

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

cdata?()

Content: [ String text ]

[Source]

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

comment?()

Content: [ String text ]

[Source]

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

doctype?()

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

[Source]

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

elementdecl?()

Content: [ String text ]

[Source]

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

end_element?()

Content: [ String tag_name ]

[Source]

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

entity?()

Content: [ String text ]

[Source]

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

entitydecl?()

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 162
          def entitydecl?
            @contents[0] == :entitydecl
          end

error?()

[Source]

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

event_type()

[Source]

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

inspect()

[Source]

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

instruction?()

Content: [ String text ]

[Source]

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

notationdecl?()

Content: [ String text ]

[Source]

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

start_element?()

Content: [ String tag_name, Hash attributes ]

[Source]

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

text?()

Content: [ String raw_text, String unnormalized_text ]

[Source]

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

xmldecl?()

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

[Source]

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

[Validate]