class Nokogiri::XML::SAX::Document - nokogiri-1.15.2 Documentation

# class Nokogiri::XML::SAX::Document

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::HTML4::SAX`.

### Public Instance Methods

cdata_block(string) click to toggle source

Called when cdata blocks are found `string` contains the cdata content

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

characters(string) click to toggle source

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 131
    def characters(string)
    end

comment(string) click to toggle source

Called when comments are encountered `string` contains the comment data

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

end_document() click to toggle source

Called when document ends parsing

    # File lib/nokogiri/xml/sax/document.rb, line 79
    def end_document
    end

end_element(name) click to toggle source

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

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

end_element_namespace(name, prefix = nil, uri = nil) click to toggle source

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 120
    def end_element_namespace(name, prefix = nil, uri = nil)
      ###
      # Deal with SAX v1 interface
      end_element([prefix, name].compact.join(":"))
    end

error(string) click to toggle source

Called on document errors `string` contains the error

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

processing_instruction(name, content) click to toggle source

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

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

start_document() click to toggle source

Called when document starts parsing

    # File lib/nokogiri/xml/sax/document.rb, line 74
    def start_document
    end

start_element(name, attrs = []) click to toggle source

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 87
    def start_element(name, attrs = [])
    end

start_element_namespace(name, attrs = [], prefix = nil, uri = nil, ns = []) click to toggle source

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 103
    def start_element_namespace(name, attrs = [], prefix = nil, uri = nil, ns = []) # rubocop:disable Metrics/ParameterLists
      ###
      # Deal with SAX v1 interface
      name = [prefix, name].compact.join(":")
      attributes = ns.map do |ns_prefix, ns_uri|
        [["xmlns", ns_prefix].compact.join(":"), ns_uri]
      end + attrs.map do |attr|
        [[attr.prefix, attr.localname].compact.join(":"), attr.value]
      end
      start_element(name, attributes)
    end

warning(string) click to toggle source

Called on document warnings `string` contains the warning

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

xmldecl(version, encoding, standalone) click to toggle source

Called when an `XML` declaration is parsed

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