class Moxml::Attribute

def ==(other)

def ==(other)
  return false unless other.is_a?(Attribute)
  name == other.name && value == other.value && namespace == other.namespace
end

def adapter

def adapter
  context.config.adapter
end

def attribute?

def attribute?
  true
end

def element

def element
  adapter.attribute_element(@native)
end

def name

def name
  @native.name
end

def name=(new_name)

def name=(new_name)
  adapter.set_attribute_name(@native, new_name)
end

def namespace

def namespace
  ns = adapter.namespace(@native)
  ns && Namespace.new(ns, context)
end

def namespace=(ns)

def namespace=(ns)
  adapter.set_namespace(@native, ns&.native)
end

def remove

def remove
  adapter.remove_attribute(element, name)
  self
end

def to_s

def to_s
  if namespace&.prefix
    "#{namespace.prefix}:#{name}=\"#{value}\""
  else
    "#{name}=\"#{value}\""
  end
end

def value

def value
  @native.value
end

def value=(new_value)

def value=(new_value)
  adapter.set_attribute_value(@native, new_value)
end