# File rexml/attribute.rb, line 23
  def initialize( first, second=nil, parent=nil )
			@element = nil
			if first.kind_of? Attribute
				self.name = first.expanded_name
				@value = first.value
				if second.kind_of? Element
					@element = element
				else
					@element = first.element
				end
			elsif first.kind_of? String
				@element = parent if parent.kind_of? Element
				self.name = first
				@value = second
			elsif first.kind_of? Source
				@element = second if second.kind_of? Element
				md = first.match(PATTERN, true )
				self.name, @value = md[1],md[3]
			else
				raise "illegal argument #{first.type} to Attribute constructor"
			end
			@value = Node::read_with_substitution @value
		end