Attributes

Leaf node with name and value.
(defclass attribute (node)
  ((local-name    :accessor local-name)
   (prefix        :reader namespace-prefix)
   (namespace-uri :reader namespace-uri)
   (value         :accessor value)))

(defun rename-attribute (attribute prefix uri) ...)

Note renaming protocol to change prefix and URI simultaneously.