"DTD/xhtml1-strict.dtd">
Module REXML::SAX2Listener
In: rexml/sax2listener.rb

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.

 doctype
 elementdecl
 attlistdecl
 entitydecl
 notationdecl
 cdata
 xmldecl
 comment
Methods
attlistdecl    cdata    characters    comment    doctype    elementdecl    end_document    end_element    end_prefix_mapping    entitydecl    notationdecl    processing_instruction    start_document    start_element    start_prefix_mapping    xmldecl   
Public Instance methods
start_document()
end_document()
start_prefix_mapping(prefix, uri)
end_prefix_mapping(prefix)
start_element(uri, localname, qname, attributes)
end_element(uri, localname, qname)
characters(text)
processing_instruction(target, data)
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"> @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"

attlistdecl(content)

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.

elementdecl(content)

<!ELEMENT ...>

entitydecl(content)

<!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"]
notationdecl(content)

<!NOTATION ...>

cdata(content)

Called when <![CDATA[ ... ]]> is encountered in a document. @p content "..."

xmldecl(version, encoding, standalone)

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

comment(comment)

Called when a comment is encountered. @p comment The content of the comment