模块 REXML::SAX2Listener
流解析器监听器的模板。请注意,声明(attlistdecl、elementdecl 等)的处理非常简单;REXML
尚未处理 doctype 实体声明,因此您必须自己解析它们。
SAX2 中缺少的方法¶ ↑
ignorable_whitespace
扩展 SAX2 的方法¶ ↑
警告
这些方法肯定会发生变化,直到完全支持 DTD。请注意这一点。
start_document end_document doctype elementdecl attlistdecl entitydecl notationdecl cdata xmldecl comment
公共实例方法
attlistdecl(element, pairs, contents) 点击切换源码
如果 doctype 包含 ATTLIST 声明,将导致调用此方法。内容是声明本身,未经解析。例如, 将以 "el attr CDATA REQUIRED" 的形式传递给此方法。所有 .*decl 方法都是如此。
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 53 def attlistdecl(element, pairs, contents) end
cdata(content) 点击切换源码
在文档中遇到 时调用。 @p content “…”
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 81 def cdata content end
characters(text) 点击切换源码
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 36 def characters text end
comment(comment) 点击切换源码
当遇到注释时调用。 @p comment 注释的内容
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 93 def comment comment end
doctype(name, pub_sys, long_name, uri) 点击切换源码
处理 doctype 声明。任何未提供的 doctype 属性都将为 nil。 # 例如, @p name doctype 的名称;例如,“me” @p pub_sys “PUBLIC”、“SYSTEM” 或 nil。例如,“PUBLIC” @p long_name 提供的长名称,或 nil。例如,“foo” @p uri doctype 的 uri,或 nil。例如,“bar”
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 46 def doctype name, pub_sys, long_name, uri end
elementdecl(content) 点击切换源码
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 56 def elementdecl content end
end_document() 点击切换源码
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 26 def end_document end
end_element(uri, localname, qname) 点击切换源码
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 34 def end_element uri, localname, qname end
end_prefix_mapping(prefix) 点击切换源码
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 30 def end_prefix_mapping prefix end
entitydecl(declaration) 点击切换源码
传递给此方法的参数是实体声明的数组。它可以有多种格式,但通常返回(示例,结果)
<!ENTITY % YN '"Yes"'> ["%", "YN", "\"Yes\""] <!ENTITY % YN 'Yes'> ["%", "YN", "Yes"] <!ENTITY WhatHeSaid "He said %YN;"> ["WhatHeSaid", "He said %YN;"] <!ENTITY open-hatch SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml"> ["open-hatch", "SYSTEM", "http://www.textuality.com/boilerplate/OpenHatch.xml"] <!ENTITY open-hatch PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN" "http://www.textuality.com/boilerplate/OpenHatch.xml">
- “open-hatch”,“PUBLIC”,“-//Textuality//TEXT Standard open-hatch boilerplate//EN”,“www.textuality.com/boilerplate/OpenHatch.xml”
-
- “hatch-pic”,“SYSTEM”,“../grafix/OpenHatch.gif”,“NDATA”,“gif”
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 74 def entitydecl declaration end
notationdecl(name, public_or_system, public_id, system_id) 点击切换源码
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 77 def notationdecl name, public_or_system, public_id, system_id end
processing_instruction(target, data) 点击切换源码
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 38 def processing_instruction target, data end
progress(position) 点击切换源码
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 95 def progress position end
start_document() 点击切换源码
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 24 def start_document end
start_element(uri, localname, qname, attributes) 点击切换源码
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 32 def start_element uri, localname, qname, attributes end
start_prefix_mapping(prefix, uri) 点击切换源码
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 28 def start_prefix_mapping prefix, uri end
xmldecl(version, encoding, standalone) 点击切换源码
当在文档中遇到 XML PI 时调用。 例如: @p version version 属性值。例如,“1.0” @p encoding encoding 属性值,或 nil。 例如,“utf” @p standalone standalone 属性值,或 nil。 例如,nil @p spaced 声明后跟换行符
# File rexml-3.4.0/lib/rexml/sax2listener.rb, line 89 def xmldecl version, encoding, standalone end