def delete( attribute )
name = nil
prefix = nilif attribute.kind_of? Attribute
name = attribute.name
prefix = attribute.prefix
else
attribute =~ Namespace::NAMESPLIT
prefix, name = $1, $2
prefix = ''unless prefix
end
old = fetch name, nil
attr = nilif old.kind_of? Hash # the supplied attribute is one of many
attr = old.delete(prefix)
if old.size == 1
repl = nil
old.each_value{|v| repl = v}
store name, repl
endelsif old.nil?
return @element
else# the supplied attribute is a top-level one
attr = old
res = super(name)
end
@element
end