# File lib/graphviz/graphml.rb, line 98
    def graphml_graph( node )
      @current_node = nil
      
      if @current_graph.nil?
        @graph = GraphViz.new( node.attributes['id'], :type => GTYPE[node.attributes['edgedefault']] )
        @current_graph = @graph
        previous_graph = @graph
      else
        previous_graph = @current_graph      
        @current_graph = previous_graph.add_graph( node.attributes['id'] )
      end
      
      @attributs[:graphs].each do |id, data|
        @current_graph.graph[data[:name]] = data[:default] if data.has_key?(:default)
      end
      @attributs[:nodes].each do |id, data|
        @current_graph.node[data[:name]] = data[:default] if data.has_key?(:default)
      end
      @attributs[:edges].each do |id, data|
        @current_graph.edge[data[:name]] = data[:default] if data.has_key?(:default)
      end
          
      node.each_element( ) do |child|
        #begin
          send( "graphml_graph_#{child.name}".to_sym, child )
        #rescue NoMethodError => e
        #  raise "ERROR node #{child.name} can be child of graphml"
        #end
      end
      
      @current_graph = previous_graph
    end