Class: REXML::Parsers::PullEvent
- Inherits:
-
Object
- Object
- REXML::Parsers::PullEvent
- Defined in:
- lib/rexml/parsers/pullparser.rb
Overview
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 StreamListeners for each event.
Instance Method Summary (collapse)
- - (Object) [](start, endd = nil)
-
- (Boolean) attlistdecl?
Content: [ String text ].
-
- (Boolean) cdata?
Content: [ String text ].
-
- (Boolean) comment?
Content: [ String text ].
-
- (Boolean) doctype?
Content: [ String name, String pub_sys, String long_name, String uri ].
-
- (Boolean) elementdecl?
Content: [ String text ].
-
- (Boolean) end_element?
Content: [ String tag_name ].
-
- (Boolean) entity?
Content: [ String text ].
-
- (Boolean) entitydecl?
Due to the wonders of DTDs, an entity declaration can be just about anything.
- - (Boolean) error?
- - (Object) event_type
-
- (PullEvent) initialize(arg)
constructor
The type of this event.
- - (Object) inspect
-
- (Boolean) instruction?
Content: [ String text ].
-
- (Boolean) notationdecl?
Content: [ String text ].
-
- (Boolean) start_element?
Content: [ String tag_name, Hash attributes ].
-
- (Boolean) text?
Content: [ String raw_text, String unnormalized_text ].
-
- (Boolean) xmldecl?
Content: [ String version, String encoding, String standalone ].
Constructor Details
- (PullEvent) initialize(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.
94 95 96 |
# File 'lib/rexml/parsers/pullparser.rb', line 94 def initialize(arg) @contents = arg end |
Instance Method Details
- (Object) [](start, endd = nil)
98 99 100 101 102 103 104 105 106 107 108 109 110 |
# 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 |
- (Boolean) attlistdecl?
Content: [ String text ]
147 148 149 |
# File 'lib/rexml/parsers/pullparser.rb', line 147 def attlistdecl? @contents[0] == :attlistdecl end |
- (Boolean) cdata?
Content: [ String text ]
178 179 180 |
# File 'lib/rexml/parsers/pullparser.rb', line 178 def cdata? @contents[0] == :cdata end |
- (Boolean) comment?
Content: [ String text ]
137 138 139 |
# File 'lib/rexml/parsers/pullparser.rb', line 137 def comment? @contents[0] == :comment end |
- (Boolean) doctype?
Content: [ String name, String pub_sys, String long_name, String uri ]
142 143 144 |
# File 'lib/rexml/parsers/pullparser.rb', line 142 def doctype? @contents[0] == :start_doctype end |
- (Boolean) elementdecl?
Content: [ String text ]
152 153 154 |
# File 'lib/rexml/parsers/pullparser.rb', line 152 def elementdecl? @contents[0] == :elementdecl end |
- (Boolean) end_element?
Content: [ String tag_name ]
122 123 124 |
# File 'lib/rexml/parsers/pullparser.rb', line 122 def end_element? @contents[0] == :end_element end |
- (Boolean) entity?
Content: [ String text ]
173 174 175 |
# File 'lib/rexml/parsers/pullparser.rb', line 173 def entity? @contents[0] == :entity end |
- (Boolean) 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 ]
163 164 165 |
# File 'lib/rexml/parsers/pullparser.rb', line 163 def entitydecl? @contents[0] == :entitydecl end |
- (Boolean) error?
187 188 189 |
# File 'lib/rexml/parsers/pullparser.rb', line 187 def error? @contents[0] == :error end |
- (Object) event_type
112 113 114 |
# File 'lib/rexml/parsers/pullparser.rb', line 112 def event_type @contents[0] end |
- (Object) inspect
191 192 193 |
# File 'lib/rexml/parsers/pullparser.rb', line 191 def inspect @contents[0].to_s + ": " + @contents[1..-1].inspect end |
- (Boolean) instruction?
Content: [ String text ]
132 133 134 |
# File 'lib/rexml/parsers/pullparser.rb', line 132 def instruction? @contents[0] == :processing_instruction end |
- (Boolean) notationdecl?
Content: [ String text ]
168 169 170 |
# File 'lib/rexml/parsers/pullparser.rb', line 168 def notationdecl? @contents[0] == :notationdecl end |
- (Boolean) start_element?
Content: [ String tag_name, Hash attributes ]
117 118 119 |
# File 'lib/rexml/parsers/pullparser.rb', line 117 def start_element? @contents[0] == :start_element end |
- (Boolean) text?
Content: [ String raw_text, String unnormalized_text ]
127 128 129 |
# File 'lib/rexml/parsers/pullparser.rb', line 127 def text? @contents[0] == :text end |
- (Boolean) xmldecl?
Content: [ String version, String encoding, String standalone ]
183 184 185 |
# File 'lib/rexml/parsers/pullparser.rb', line 183 def xmldecl? @contents[0] == :xmldecl end |