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.
ignorable_whitespace
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
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 rexml/sax2listener.rb, line 52
def attlistdecl(element, pairs, contents)
end
Called when <![CDATA[ … ]]> is encountered in a document. @p content “…”
# File rexml/sax2listener.rb, line 80
def cdata content
end
# File rexml/sax2listener.rb, line 35
def characters text
end
Handles a doctype declaration. Any attributes of the doctype which are not supplied will be nil. # EG, <!DOCTYPE me PUBLIC “foo” “bar”> @p name the name of the doctype; EG, “me” @p pub_sys “PUBLIC”, “SYSTEM”, or nil. EG, “PUBLIC” @p long_name the supplied long name, or nil. EG, “foo” @p uri the uri of the doctype, or nil. EG, “bar”
# File rexml/sax2listener.rb, line 45
def doctype name, pub_sys, long_name, uri
end
<!ELEMENT …>
# File rexml/sax2listener.rb, line 55
def elementdecl content
end
# File rexml/sax2listener.rb, line 33
def end_element uri, localname, qname
end
# File rexml/sax2listener.rb, line 29
def end_prefix_mapping prefix
end
<!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'", "s"] <!ENTITY WhatHeSaid "He said %YN;"> ["WhatHeSaid", "\"He said %YN;\"", "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\"", "\"http://www.textuality.com/boilerplate/OpenHatch.xml\""] <!ENTITY hatch-pic SYSTEM "../grafix/OpenHatch.gif" NDATA gif> ["hatch-pic", "SYSTEM", "\"../grafix/OpenHatch.gif\"", "\n\t\t\t\t\t\t\tNDATA gif", "gif"]
# File rexml/sax2listener.rb, line 73
def entitydecl name, decl
end
<!NOTATION …>
# File rexml/sax2listener.rb, line 76
def notationdecl content
end
# File rexml/sax2listener.rb, line 37
def processing_instruction target, data
end
# File rexml/sax2listener.rb, line 94
def progress position
end
# File rexml/sax2listener.rb, line 23
def start_document
end
# File rexml/sax2listener.rb, line 31
def start_element uri, localname, qname, attributes
end
# File rexml/sax2listener.rb, line 27
def start_prefix_mapping prefix, uri
end
Called when an XML PI is encountered in the document. EG: <?xml version=“1.0” encoding=“utf”?> @p version the version attribute value. EG, “1.0” @p encoding the encoding attribute value, or nil. EG, “utf” @p standalone the standalone attribute value, or nil. EG, nil @p spaced the declaration is followed by a line break
# File rexml/sax2listener.rb, line 88
def xmldecl version, encoding, standalone
end
Commenting is here to help enhance the documentation. For example, code samples, or clarification of the documentation.
If you have questions about Ruby or the documentation, please post to one of the Ruby mailing lists. You will get better, faster, help that way.
If you wish to post a correction of the docs, please do so, but also file bug report so that it can be corrected for the next release. Thank you.
If you want to help improve the Ruby documentation, please see Improve the docs, or visit Documenting-ruby.org.
Called when a comment is encountered. @p comment The content of the comment
# File rexml/sax2listener.rb, line 92 def comment comment end