Google

def initialize( arg = UNDEFINED, parent=nil, context=nil ) super(parent) @elements = Elements.new self @attributes = Attributes.new self @context = context if arg.kind_of? Source parse arg elsif arg.kind_of? String self.name = arg elsif arg.kind_of? Element self.name = arg.expanded_name arg.attributes.each_attribute{ |attribute| @attributes << Attribute.new( attribute ) } @context = arg.context end end