Module: REXML::SAX2Listener
- Defined in:
- lib/rexml/sax2listener.rb
Overview
A template for stream parser listeners. Note that the declarations (attlistdecl, elementdecl, etc) are trivially processed; REXML doesn’t yet handle doctype entity declarations, so you have to parse them out yourself.
Missing methods from SAX2
ignorable_whitespace
Methods extending SAX2
WARNING
These methods are certainly going to change, until DTDs are fully supported. Be aware of this.
start_document
end_document
doctype
elementdecl
attlistdecl
entitydecl
notationdecl
cdata
xmldecl
comment
Instance Method Summary collapse
-
#attlistdecl(element, pairs, contents) ⇒ Object
If a doctype includes an ATTLIST declaration, it will cause this method to be called.
-
#cdata(content) ⇒ Object
Called when <![CDATA[ … ]]> is encountered in a document.
- #characters(text) ⇒ Object
-
#comment(comment) ⇒ Object
Called when a comment is encountered.
-
#doctype(name, pub_sys, long_name, uri) ⇒ Object
Handles a doctype declaration.
-
#elementdecl(content) ⇒ Object
<!ELEMENT …>.
- #end_document ⇒ Object
- #end_element(uri, localname, qname) ⇒ Object
- #end_prefix_mapping(prefix) ⇒ Object
-
#entitydecl(declaration) ⇒ Object
<!ENTITY …> The argument passed to this method is an array of the entity declaration.
-
#notationdecl(name, public_or_system, public_id, system_id) ⇒ Object
<!NOTATION …>.
- #processing_instruction(target, data) ⇒ Object
- #progress(position) ⇒ Object
- #start_document ⇒ Object
- #start_element(uri, localname, qname, attributes) ⇒ Object
- #start_prefix_mapping(prefix, uri) ⇒ Object
-
#xmldecl(version, encoding, standalone) ⇒ Object
Called when an XML PI is encountered in the document.
Instance Method Details
#attlistdecl(element, pairs, contents) ⇒ Object
If a doctype includes an ATTLIST declaration, it will cause this method to be called. The content is the declaration itself, unparsed. EG, <!ATTLIST el attr CDATA #REQUIRED> will come to this method as “el attr CDATA #REQUIRED”. This is the same for all of the .*decl methods.
53 54 |
# File 'lib/rexml/sax2listener.rb', line 53 def attlistdecl(element, pairs, contents) end |
#cdata(content) ⇒ Object
Called when <![CDATA[ … ]]> is encountered in a document.
81 82 |
# File 'lib/rexml/sax2listener.rb', line 81 def cdata content end |
#characters(text) ⇒ Object
36 37 |
# File 'lib/rexml/sax2listener.rb', line 36 def characters text end |
#comment(comment) ⇒ Object
Called when a comment is encountered.
93 94 |
# File 'lib/rexml/sax2listener.rb', line 93 def comment comment end |
#doctype(name, pub_sys, long_name, uri) ⇒ Object
Handles a doctype declaration. Any attributes of the doctype which are not supplied will be nil. # EG, <!DOCTYPE me PUBLIC “foo” “bar”>
46 47 |
# File 'lib/rexml/sax2listener.rb', line 46 def doctype name, pub_sys, long_name, uri end |
#elementdecl(content) ⇒ Object
<!ELEMENT …>
56 57 |
# File 'lib/rexml/sax2listener.rb', line 56 def elementdecl content end |
#end_document ⇒ Object
26 27 |
# File 'lib/rexml/sax2listener.rb', line 26 def end_document end |
#end_element(uri, localname, qname) ⇒ Object
34 35 |
# File 'lib/rexml/sax2listener.rb', line 34 def end_element uri, localname, qname end |
#end_prefix_mapping(prefix) ⇒ Object
30 31 |
# File 'lib/rexml/sax2listener.rb', line 30 def end_prefix_mapping prefix end |
#entitydecl(declaration) ⇒ Object
<!ENTITY …> The argument passed to this method is an array of the entity declaration. It can be in a number of formats, but in general it returns (example, result):
<!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”
-
<!ENTITY hatch-pic SYSTEM “../grafix/OpenHatch.gif” NDATA gif>
- “hatch-pic”, “SYSTEM”, “../grafix/OpenHatch.gif”, “NDATA”, “gif”
74 75 |
# File 'lib/rexml/sax2listener.rb', line 74 def entitydecl declaration end |
#notationdecl(name, public_or_system, public_id, system_id) ⇒ Object
<!NOTATION …>
77 78 |
# File 'lib/rexml/sax2listener.rb', line 77 def notationdecl name, public_or_system, public_id, system_id end |
#processing_instruction(target, data) ⇒ Object
38 39 |
# File 'lib/rexml/sax2listener.rb', line 38 def processing_instruction target, data end |
#progress(position) ⇒ Object
95 96 |
# File 'lib/rexml/sax2listener.rb', line 95 def progress position end |
#start_document ⇒ Object
24 25 |
# File 'lib/rexml/sax2listener.rb', line 24 def start_document end |
#start_element(uri, localname, qname, attributes) ⇒ Object
32 33 |
# File 'lib/rexml/sax2listener.rb', line 32 def start_element uri, localname, qname, attributes end |
#start_prefix_mapping(prefix, uri) ⇒ Object
28 29 |
# File 'lib/rexml/sax2listener.rb', line 28 def start_prefix_mapping prefix, uri end |
#xmldecl(version, encoding, standalone) ⇒ Object
Called when an XML PI is encountered in the document. EG: <?xml version=“1.0” encoding=“utf”?>
89 90 |
# File 'lib/rexml/sax2listener.rb', line 89 def xmldecl version, encoding, standalone end |