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
#
A
C
D
E
I
N
S
T
X
Class Public 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.

# File lib/rexml/parsers/pullparser.rb, line 94
def initialize(arg)
  @contents = arg
end
Instance Public methods
[]( start, endd=nil)
# File lib/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
attlistdecl?()

Content: [ String text ]

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

Content: [ String text ]

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

Content: [ String text ]

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

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

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

Content: [ String text ]

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

Content: [ String tag_name ]

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

Content: [ String text ]

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

# File lib/rexml/parsers/pullparser.rb, line 163
def entitydecl?
  @contents[0] == :entitydecl
end
error?()
# File lib/rexml/parsers/pullparser.rb, line 187
def error?
  @contents[0] == :error
end
event_type()
# File lib/rexml/parsers/pullparser.rb, line 112
def event_type
  @contents[0]
end
inspect()
# File lib/rexml/parsers/pullparser.rb, line 191
def inspect
  @contents[0].to_s + ": " + @contents[1..-1].inspect
end
instruction?()

Content: [ String text ]

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

Content: [ String text ]

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

Content: [ String tag_name, Hash attributes ]

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

Content: [ String raw_text, String unnormalized_text ]

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

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

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