Namespaces checked strictly

STP represents namespace-well-formed documents.

(let ((e (stp:make-element           "a:foo" "http://a"))
      (a (stp:make-attribute "value" "b:bar" "http://b")))
  (stp:add-attribute e a))
Okay

Conflicting declarations on the same element are forbidden.
(let ((e (stp:make-element           "a:foo" "http://a"))
      (a (stp:make-attribute "value" "a:bar" "http://b")))
  (stp:add-attribute e a))
Error: namespace collision with element