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.
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 rexml/parsers/pullparser.rb, line 94 def initialize(arg) @contents = arg end
# 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 ]
# File rexml/parsers/pullparser.rb, line 147 def attlistdecl? @contents[0] == :attlistdecl end
Content: [ String text ]
# File rexml/parsers/pullparser.rb, line 178 def cdata? @contents[0] == :cdata end
Content: [ String name, String pub_sys, String long_name, String uri ]
# File rexml/parsers/pullparser.rb, line 142 def doctype? @contents[0] == :start_doctype end
Content: [ String text ]
# File rexml/parsers/pullparser.rb, line 152 def elementdecl? @contents[0] == :elementdecl end
Content: [ String tag_name ]
# File rexml/parsers/pullparser.rb, line 122 def end_element? @contents[0] == :end_element end
Content: [ String text ]
# 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:
Content: [ String text ]
# File rexml/parsers/pullparser.rb, line 163 def entitydecl? @contents[0] == :entitydecl end
# File rexml/parsers/pullparser.rb, line 187 def error? @contents[0] == :error end
# File rexml/parsers/pullparser.rb, line 112 def event_type @contents[0] end
# File rexml/parsers/pullparser.rb, line 191 def inspect @contents[0].to_s + ": " + @contents[1..-1].inspect end
Content: [ String text ]
# File rexml/parsers/pullparser.rb, line 132 def instruction? @contents[0] == :processing_instruction end
Content: [ String text ]
# File rexml/parsers/pullparser.rb, line 168 def notationdecl? @contents[0] == :notationdecl end
Content: [ String tag_name, Hash attributes ]
# File rexml/parsers/pullparser.rb, line 117 def start_element? @contents[0] == :start_element end
Content: [ String text ]