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|
send( "graphml_graph_#{child.name}".to_sym, child )
end
@current_graph = previous_graph
end