# File lib/xml/dom/core.rb, line 1941 def initialize(tag = nil, attr = nil, *children) super(*children) raise "parameter error" if !tag @name = tag.freeze if attr.nil? @attr = NamedNodeMap.new([]) elsif attr.is_a?(Hash) nodes = [] attr.each do |key, value| nodes.push(Attr.new(key, value)) end @attr = NamedNodeMap.new(nodes) elsif attr.is_a?(Array) @attr = NamedNodeMap.new(attr) elsif attr.is_a?(Attr) @attr = NamedNodeMap.new([attr]) else raise "parameter error: #{attr}" end end