# File lib/xml/util/xmlcanonicalizer.rb, line 206
        def write_namespace_axis(node, visible)
          doc = node.document()
          has_empty_namespace = false
          list = Array.new()
          cur = node
          #while ((cur != nil) && (cur != doc) && (cur.node_type() != :document)) 

          namespaces = cur.node_namespaces()
          namespaces.each{|prefix|
            next if ((prefix == "xmlns") && (node.namespace(prefix) == "")) 
            namespace = cur.namespace(prefix)
            next if (is_namespace_node(namespace))
            next if (node.namespace(prefix) != cur.namespace(prefix))
            next if (prefix == "xml" && namespace == "http://www.w3.org/XML/1998/namespace")
            next if (!is_node_visible(cur))
            rendered = is_namespace_rendered(prefix, namespace)
            @visibleNamespaces.push(NamespaceNode.new("xmlns:"+prefix,namespace)) if (visible)
            if ((!rendered) && !list.include?(prefix))
              list.push(prefix)
            end
            has_empty_namespace = true if (prefix == nil)
          }
          if (visible && !has_empty_namespace && !is_namespace_rendered(nil, nil)) 
            @res = @res + ' xmlns=""'
          end
          #TODO: ns of inclusive_list

#=begin

          if ((@prefix_list) && (node.to_s() == node.parent().to_s()))
            #list.push(node.prefix())

            @inclusive_namespaces.each{|ns|
              prefix = ns.prefix().split(":")[1]
              list.push(prefix) if (!list.include?(prefix) && (!node.attributes.prefixes.include?(prefix))) 
            }
                                @prefix_list = nil
          end
#=end

          list.sort!()
          list.each{|prefix|
            next if (prefix == "")
                                next if (@rendered_prefixes.include?(prefix))
                                @rendered_prefixes.push(prefix)
            ns = node.namespace(prefix)
            ns = @preserve_element.namespace(prefix) if (ns == nil)
            @res = @res + normalize_string(" " + prefix + '="' + ns + '"', NODE_TYPE_TEXT) if (prefix == "xmlns")
            @res = @res + normalize_string(" xmlns:" + prefix + '="' + ns + '"', NODE_TYPE_TEXT) if (prefix != nil && prefix != "xmlns")
          }
          if (visible)
            @prevVisibleNamespacesStart = @prevVisibleNamespacesEnd
            @prevVisibleNamespacesEnd = @visibleNamespaces.size()       
          end
        end