|
def []=( name, value )
if value.nil?
attr = get_attribute name
delete attr
return
end
value = Attribute.new(name, value) unless value.kind_of? Attribute
value.element = @element
old_attr = fetch value.name, nil
if old_attr.nil?
store(value.name, value)
elsif old_attr.kind_of? Hash
old_attr[value.prefix] = value
elsif old_attr.prefix != value.prefix
store value.name, { old_attr.prefix => old_attr,
value.prefix => value }
else
store value.name, value
end
return @element
end
|