tag_start (REXML::SAXHelper)

    # File rexml/sax2parser.rb, line 99
      def tag_start name, attrs
    			@tag_stack.push name
    			attributes = {}
    			attrs.each { |n,v| attributes[n] = v }
    			# find the observers for namespaces
    			procs = get_procs( start_prefix_mapping:start_prefix_mapping, name )
    			listeners = get_listeners( start_prefix_mapping:start_prefix_mapping, name )
    			if procs.size > 0 or listeners.size > 0
    				# break out the namespace declarations
    				nsdecl = attrs.find_all { |n, value| n =~ /^xmlns:/ }
    				nsdecl.collect! { |n, value| [ n[6..-1], value ] }
    				@namespace_stack.push({})
    				nsdecl.each do |n,v|
    					@namespace_stack[-1][n] = v
    					# notify observers of namespaces
    					procs.each { |ob| ob.call( n, v ) }
    					listeners.each { |ob| ob.start_prefix_mapping(n, v) }
    				end
    			end
    			name =~ Namespace::NAMESPLIT
    			prefix = $1
    			local = $2
    			uri = get_namespace prefix
    			# find the observers for start_element
    			procs = get_procs( start_element:start_element, name )
    			listeners = get_listeners( start_element:start_element, name )
    			# notify observers
    			procs.each { |ob| ob.call( uri, local, name, attributes ) }
    			listeners.each { |ob| ob.start_element( uri, local, name, attributes ) }
    		end