W3cubDocs

/Nokogiri

class Nokogiri::XML::SAX::Document

Parent:
Object

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.

Public Instance Methods

cdata_block(string) Show source
# File lib/nokogiri/xml/sax/document.rb, line 159
def cdata_block string
end

Called when cdata blocks are found string contains the cdata content

characters(string) Show source
# File lib/nokogiri/xml/sax/document.rb, line 135
def characters string
end

Characters read between a tag. This method might be called multiple times given one contiguous string of characters.

string contains the character data

comment(string) Show source
# File lib/nokogiri/xml/sax/document.rb, line 141
def comment string
end

Called when comments are encountered string contains the comment data

end_document() Show source
# File lib/nokogiri/xml/sax/document.rb, line 83
def end_document
end

Called when document ends parsing

end_element(name) Show source
# File lib/nokogiri/xml/sax/document.rb, line 97
def end_element name
end

Called at the end of an element name is the tag name

end_element_namespace(name, prefix = nil, uri = nil) Show source
# File lib/nokogiri/xml/sax/document.rb, line 124
def end_element_namespace name, prefix = nil, uri = nil
  ###
  # Deal with SAX v1 interface
  end_element [prefix, name].compact.join(':')
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

error(string) Show source
# File lib/nokogiri/xml/sax/document.rb, line 153
def error string
end

Called on document errors string contains the error

processing_instruction(name, content) Show source
# File lib/nokogiri/xml/sax/document.rb, line 166
def processing_instruction name, content
end

Called when processing instructions are found name is the target of the instruction content is the value of the instruction

start_document() Show source
# File lib/nokogiri/xml/sax/document.rb, line 78
def start_document
end

Called when document starts parsing

start_element(name, attrs = []) Show source
# File lib/nokogiri/xml/sax/document.rb, line 91
def start_element name, attrs = []
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"] ]
    
start_element_namespace(name, attrs = [], prefix = nil, uri = nil, ns = []) Show source
# File lib/nokogiri/xml/sax/document.rb, line 107
def start_element_namespace name, attrs = [], prefix = nil, uri = nil, ns = []
  ###
  # Deal with SAX v1 interface
  name = [prefix, name].compact.join(':')
  attributes = ns.map { |ns_prefix,ns_uri|
    [['xmlns', ns_prefix].compact.join(':'), ns_uri]
  } + attrs.map { |attr|
    [[attr.prefix, attr.localname].compact.join(':'), attr.value]
  }
  start_element name, attributes
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

warning(string) Show source
# File lib/nokogiri/xml/sax/document.rb, line 147
def warning string
end

Called on document warnings string contains the warning

xmldecl(version, encoding, standalone) Show source
# File lib/nokogiri/xml/sax/document.rb, line 73
def xmldecl version, encoding, standalone
end

Called when an XML declaration is parsed

© 2008–2018 Aaron Patterson, Mike Dalessio, Charles Nutter, Sergio Arbeo,
Patrick Mahoney, Yoko Harada, Akinori Musha, John Shahid, Lars Kanis
Licensed under the MIT License.