class REXML::Parsers::PullEvent
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.
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.
# File lib/rexml/parsers/pullparser.rb, line 95 def initialize(arg) @contents = arg end
Public Instance Methods
# File lib/rexml/parsers/pullparser.rb, line 99 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 ]
# File lib/rexml/parsers/pullparser.rb, line 148 def attlistdecl? @contents[0] == :attlistdecl end
Content: [ String
text ]
# File lib/rexml/parsers/pullparser.rb, line 179 def cdata? @contents[0] == :cdata end
Content: [ String
text ]
# File lib/rexml/parsers/pullparser.rb, line 138 def comment? @contents[0] == :comment end
Content: [ String
text ]
# File lib/rexml/parsers/pullparser.rb, line 153 def elementdecl? @contents[0] == :elementdecl end
Content: [ String
tag_name ]
# File lib/rexml/parsers/pullparser.rb, line 123 def end_element? @contents[0] == :end_element end
Content: [ String
text ]
# File lib/rexml/parsers/pullparser.rb, line 174 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:
Content: [ String
text ]
# File lib/rexml/parsers/pullparser.rb, line 164 def entitydecl? @contents[0] == :entitydecl end
# File lib/rexml/parsers/pullparser.rb, line 188 def error? @contents[0] == :error end
# File lib/rexml/parsers/pullparser.rb, line 113 def event_type @contents[0] end
# File lib/rexml/parsers/pullparser.rb, line 192 def inspect @contents[0].to_s + ": " + @contents[1..-1].inspect end
Content: [ String
text ]
# File lib/rexml/parsers/pullparser.rb, line 133 def instruction? @contents[0] == :processing_instruction end
Content: [ String
text ]
# File lib/rexml/parsers/pullparser.rb, line 169 def notationdecl? @contents[0] == :notationdecl end