Class: REXML::Parsers::PullEvent (Ruby 2.3.4)

In Files

  • rexml/parsers/pullparser.rb

Class/Module Index [+]

Quicksearch

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

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 rexml/parsers/pullparser.rb, line 95
def initialize(arg)
  @contents = arg
end
            

Public Instance Methods

[]( start, endd=nil)
 
               # File 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
            
attlistdecl?()

Content: [ String text ]

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

Content: [ String text ]

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

Content: [ String text ]

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

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

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

Content: [ String text ]

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

Content: [ String tag_name ]

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

Content: [ String text ]

 
               # File rexml/parsers/pullparser.rb, line 174
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 rexml/parsers/pullparser.rb, line 164
def entitydecl?
  @contents[0] == :entitydecl
end
            
error?()
 
               # File rexml/parsers/pullparser.rb, line 188
def error?
  @contents[0] == :error
end
            
event_type()
 
               # File rexml/parsers/pullparser.rb, line 113
def event_type
  @contents[0]
end
            
inspect()
 
               # File rexml/parsers/pullparser.rb, line 192
def inspect
  @contents[0].to_s + ": " + @contents[1..-1].inspect
end
            
instruction?()

Content: [ String text ]

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

Content: [ String text ]

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

Content: [ String tag_name, Hash attributes ]

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

Content: [ String raw_text, String unnormalized_text ]

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

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

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