# File temp/element.rb, line 1069
                def []=( name, value )
                        if value.nil?                # Delete the named attribute
                                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
                                # Check for conflicting namespaces
                                raise ParseException.new( 
                                        "Namespace conflict in adding attribute \"#{value.name}\": "+
                                        "Prefix \"#{old_attr.prefix}\" = "+
                                        "\"#{@element.namespace(old_attr.prefix)}\" and prefix "+
                                        "\"#{value.prefix}\" = \"#{@element.namespace(value.prefix)}\"") if 
                                        value.prefix != "xmlns" and old_attr.prefix != "xmlns" and
                                        @element.namespace( old_attr.prefix ) == 
                                        @element.namespace( value.prefix )
                                store value.name, { old_attr.prefix => old_attr,
                                                                                                                value.prefix              => value }
                        else
                                store value.name, value
                        end
                        return @element
                end