Extended maintenance of Ruby versions 1.8.7 and 1.9.2 ended on July 31, 2014. Read more

In Files

  • rexml/sax2listener.rb

REXML::SAX2Listener

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

Public Instance Methods

attlistdecl(element, pairs, contents) click to toggle source

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
            
cdata(content) click to toggle source

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

 
               # File rexml/sax2listener.rb, line 80
def cdata content
end
            
characters(text) click to toggle source
 
               # File rexml/sax2listener.rb, line 35
def characters text
end
            
comment(comment) click to toggle source

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

 
               # File rexml/sax2listener.rb, line 92
def comment comment
end
            
doctype(name, pub_sys, long_name, uri) click to toggle source

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
            
elementdecl(content) click to toggle source

<!ELEMENT …>

 
               # File rexml/sax2listener.rb, line 55
def elementdecl content
end
            
end_document() click to toggle source
 
               # File rexml/sax2listener.rb, line 25
def end_document
end
            
end_element(uri, localname, qname) click to toggle source
 
               # File rexml/sax2listener.rb, line 33
def end_element uri, localname, qname
end
            
end_prefix_mapping(prefix) click to toggle source
 
               # File rexml/sax2listener.rb, line 29
def end_prefix_mapping prefix
end
            
entitydecl(name, decl) click to toggle source

<!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
            
notationdecl(content) click to toggle source

<!NOTATION …>

 
               # File rexml/sax2listener.rb, line 76
def notationdecl content
end
            
processing_instruction(target, data) click to toggle source
 
               # File rexml/sax2listener.rb, line 37
def processing_instruction target, data
end
            
progress(position) click to toggle source
 
               # File rexml/sax2listener.rb, line 94
def progress position
end
            
start_document() click to toggle source
 
               # File rexml/sax2listener.rb, line 23
def start_document
end
            
start_element(uri, localname, qname, attributes) click to toggle source
 
               # File rexml/sax2listener.rb, line 31
def start_element uri, localname, qname, attributes
end
            
start_prefix_mapping(prefix, uri) click to toggle source
 
               # File rexml/sax2listener.rb, line 27
def start_prefix_mapping prefix, uri
end
            
xmldecl(version, encoding, standalone) click to toggle source

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 visit Documenting-ruby.org.

blog comments powered by Disqus