module Nokogiri::XML::SAX::LegacyHandlers
def end_element_namespace name, prefix = nil, uri = nil
def end_element_namespace name, prefix = nil, uri = nil ## # Deal with legacy interface if @document.respond_to? :end_element_ns unless @warned warn <<-eowarn ::XML::SAX::Document#start_element_ns and end_element_ns are deprecated, hange to start_element_namespace. start_element_ns will be removed by 1.4.0 or by August 1st, whichever comes first. eowarn @warned = true end @document.end_element_ns name, prefix, uri end ### # Deal with SAX v1 interface @document.end_element [prefix, name].compact.join(':') end
def start_element_namespace name,
def start_element_namespace name, attrs = [], prefix = nil, uri = nil, ns = [] ## # Deal with legacy interface if @document.respond_to? :start_element_ns unless @warned warn <<-eowarn ::XML::SAX::Document#start_element_ns and end_element_ns are deprecated, hange to start_element_namespace. start_element_ns will be removed by 1.4.0 or by August 1st, whichever comes first. eowarn @warned = true end attr_hash = {} attrs.each do |attr| attr_hash[attr.localname] = attr.value end ns_hash = Hash[*ns.flatten] @document.start_element_ns name, attr_hash, prefix, uri, ns_hash end ### # 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] }.flatten @document.start_element name, attributes end