class REXML::Parsers::PullEvent
一个解析事件。事件的内容以 +Array?+ 的形式访问,类型可以通过 …? 方法或访问 type
访问器给出。此对象的内容因事件而异,但与传递给每个事件的 +StreamListener+ 的参数相同。
公共类方法
new(arg) 点击切换源代码
此事件的类型。 将是以下之一::tag_start、:tag_end、:text、:processing_instruction、:comment、:doctype、:attlistdecl、:entitydecl、:notationdecl、:entity、:cdata、:xmldecl 或 :error。
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 111 def initialize(arg) @contents = arg end
公共实例方法
[]( start, endd=nil) 点击切换源代码
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 115 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?() 点击切换源代码
内容:[ 字符串 text ]
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 164 def attlistdecl? @contents[0] == :attlistdecl end
cdata?() 点击切换源代码
内容:[ 字符串 text ]
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 195 def cdata? @contents[0] == :cdata end
comment?() 点击切换源代码
内容:[ 字符串 text ]
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 154 def comment? @contents[0] == :comment end
doctype?() 点击切换源代码
内容:[ 字符串 name, 字符串 pub_sys, 字符串 long_name, 字符串 uri ]
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 159 def doctype? @contents[0] == :start_doctype end
elementdecl?() 点击切换源代码
内容:[ 字符串 text ]
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 169 def elementdecl? @contents[0] == :elementdecl end
end_element?() 点击切换源代码
内容:[ 字符串 tag_name ]
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 139 def end_element? @contents[0] == :end_element end
entity?() 点击切换源代码
内容:[ 字符串 text ]
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 190 def entity? @contents[0] == :entity end
entitydecl?() 点击切换源代码
由于 DTD 的奇妙之处,实体声明几乎可以是任何东西。没有办法对其进行规范化;您必须自己解释内容。但是,以下情况是真实的
-
如果实体声明是一个内部实体
- 字符串 name,字符串 value
内容:[ 字符串 text ]
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 180 def entitydecl? @contents[0] == :entitydecl end
error?() 点击切换源代码
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 204 def error? @contents[0] == :error end
event_type() 点击切换源代码
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 129 def event_type @contents[0] end
inspect() 点击切换源代码
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 208 def inspect @contents[0].to_s + ": " + @contents[1..-1].inspect end
instruction?() 点击切换源代码
内容:[ 字符串 text ]
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 149 def instruction? @contents[0] == :processing_instruction end
notationdecl?() 点击切换源代码
内容:[ 字符串 text ]
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 185 def notationdecl? @contents[0] == :notationdecl end
start_element?() 点击切换源代码
内容:[ 字符串 tag_name, 哈希 attributes ]
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 134 def start_element? @contents[0] == :start_element end
text?() 点击切换源代码
内容:[ 字符串 raw_text,字符串 unnormalized_text ]
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 144 def text? @contents[0] == :text end
xmldecl?() 点击切换源代码
内容:[ 字符串 version,字符串 encoding,字符串 standalone ]
# File rexml-3.4.0/lib/rexml/parsers/pullparser.rb, line 200 def xmldecl? @contents[0] == :xmldecl end