This class is used for registering types of events you are interested in handling. All of the methods on this class are available as possible events while parsing an XML document. To register for any particular event, just subclass this class and implement the methods you are interested in knowing about.
To only be notified about start and end element events, write a class like this:
class MyDocument < Nokogiri::XML::SAX::Document def start_element name, attrs = [] puts "#{name} started!" end def end_element name puts "#{name} ended" end end
You can use this event handler for any SAX style parser included with Nokogiri. See Nokogiri::XML::SAX, and Nokogiri::HTML::SAX.
Called when cdata blocks are found string contains the cdata content
# File lib/nokogiri/xml/sax/document.rb, line 159 159: def cdata_block string 160: end
Characters read between a tag. This method might be called multiple times given one contiguous string of characters.
string contains the character data
# File lib/nokogiri/xml/sax/document.rb, line 135 135: def characters string 136: end
Called when document ends parsing
# File lib/nokogiri/xml/sax/document.rb, line 83 83: def end_document 84: end
Called at the end of an element name is the tag name
# File lib/nokogiri/xml/sax/document.rb, line 97 97: def end_element name 98: end
Called at the end of an element name is the element’s name prefix is the namespace prefix associated with the element uri is the associated namespace URI
# File lib/nokogiri/xml/sax/document.rb, line 124 124: def end_element_namespace name, prefix = nil, uri = nil 125: ### 126: # Deal with SAX v1 interface 127: end_element [prefix, name].compact.join(':') 128: end
Called on document errors string contains the error
# File lib/nokogiri/xml/sax/document.rb, line 153 153: def error string 154: end
Called when document starts parsing
# File lib/nokogiri/xml/sax/document.rb, line 78 78: def start_document 79: end
Called at the beginning of an element
name is the name of the tag
attrs are an assoc list of namespaces and attributes, e.g.:
[ ["xmlns:foo", "http://sample.net"], ["size", "large"] ]
# File lib/nokogiri/xml/sax/document.rb, line 91 91: def start_element name, attrs = [] 92: end
Called at the beginning of an element name is the element name attrs is a list of attributes prefix is the namespace prefix for the element uri is the associated namespace URI ns is a hash of namespace prefix:urls associated with the element
# File lib/nokogiri/xml/sax/document.rb, line 107 107: def start_element_namespace name, attrs = [], prefix = nil, uri = nil, ns = [] 108: ### 109: # Deal with SAX v1 interface 110: name = [prefix, name].compact.join(':') 111: attributes = ns.map { |ns_prefix,ns_uri| 112: [['xmlns', ns_prefix].compact.join(':'), ns_uri] 113: } + attrs.map { |attr| 114: [[attr.prefix, attr.localname].compact.join(':'), attr.value] 115: } 116: start_element name, attributes 117: end
Called on document warnings string contains the warning
# File lib/nokogiri/xml/sax/document.rb, line 147 147: def warning string 148: end
Called when an XML declaration is parsed
# File lib/nokogiri/xml/sax/document.rb, line 73 73: def xmldecl version, encoding, standalone 74: end
Disabled; run with --debug to generate this.
Generated with the Darkfish Rdoc Generator 1.1.6.
Called when comments are encountered string contains the comment data