Module: REXML::SAX2Listener
Relationships & Source Files | |
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
-
#attlistdecl(element, pairs, contents)
If a doctype includes an ATTLIST declaration, it will cause this method to be called.
-
#cdata(content)
Called when <![CDATA[ …
- #characters(text)
-
#comment(comment)
Called when a comment is encountered.
-
#doctype(name, pub_sys, long_name, uri)
Handles a doctype declaration.
-
#elementdecl(content)
<!ELEMENT …>.
- #end_document
- #end_element(uri, localname, qname)
- #end_prefix_mapping(prefix)
-
#entitydecl(declaration)
<!ENTITY …> The argument passed to this method is an array of the entity declaration.
-
#notationdecl(name, public_or_system, public_id, system_id)
<!NOTATION …>.
- #processing_instruction(target, data)
- #progress(position)
- #start_document
- #start_element(uri, localname, qname, attributes)
- #start_prefix_mapping(prefix, uri)
-
#xmldecl(version, encoding, standalone)
Called when an XML PI is encountered in the document.
Instance Method Details
#attlistdecl(element, pairs, contents)
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.
# File 'lib/rexml/sax2listener.rb', line 52
def attlistdecl(element, pairs, contents) end
#cdata(content)
Called when <![CDATA[ … ]]> is encountered in a document.
# File 'lib/rexml/sax2listener.rb', line 80
def cdata content end
#characters(text)
[ GitHub ]# File 'lib/rexml/sax2listener.rb', line 35
def characters text end
#comment(comment)
Called when a comment is encountered.
# File 'lib/rexml/sax2listener.rb', line 92
def comment comment end
#doctype(name, pub_sys, long_name, uri)
Handles a doctype declaration. Any attributes of the doctype which are not supplied will be nil. # EG, <!DOCTYPE me PUBLIC “foo” “bar”>
# File 'lib/rexml/sax2listener.rb', line 45
def doctype name, pub_sys, long_name, uri end
#elementdecl(content)
<!ELEMENT …>
# File 'lib/rexml/sax2listener.rb', line 55
def elementdecl content end
#end_document
[ GitHub ]# File 'lib/rexml/sax2listener.rb', line 25
def end_document end
#end_element(uri, localname, qname)
[ GitHub ]# File 'lib/rexml/sax2listener.rb', line 33
def end_element uri, localname, qname end
#end_prefix_mapping(prefix)
[ GitHub ]# File 'lib/rexml/sax2listener.rb', line 29
def end_prefix_mapping prefix end
#entitydecl(declaration)
<!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”
# File 'lib/rexml/sax2listener.rb', line 73
def entitydecl declaration end
#notationdecl(name, public_or_system, public_id, system_id)
<!NOTATION …>
# File 'lib/rexml/sax2listener.rb', line 76
def notationdecl name, public_or_system, public_id, system_id end
#processing_instruction(target, data)
[ GitHub ]# File 'lib/rexml/sax2listener.rb', line 37
def processing_instruction target, data end
#progress(position)
[ GitHub ]# File 'lib/rexml/sax2listener.rb', line 94
def progress position end
#start_document
[ GitHub ]# File 'lib/rexml/sax2listener.rb', line 23
def start_document end
#start_element(uri, localname, qname, attributes)
[ GitHub ]# File 'lib/rexml/sax2listener.rb', line 31
def start_element uri, localname, qname, attributes end
#start_prefix_mapping(prefix, uri)
[ GitHub ]# File 'lib/rexml/sax2listener.rb', line 27
def start_prefix_mapping prefix, uri end
#xmldecl(version, encoding, standalone)
Called when an XML PI is encountered in the document. EG: <?xml version=“1.0” encoding=“utf”?>
# File 'lib/rexml/sax2listener.rb', line 88
def xmldecl version, encoding, standalone end