Quoting Sunil Mishra (smishra@sfmishras.com):
So, here's what I'm seeing when I try to introduce multiple namespaces into an XML document... Note that the final output states the namespaces for both svg and xlink as implicit. Further, implicit namespace declarations are not necessarily applied to attributes.
Thanks for the reports.
The namespace normalizer (xml/xmlns-normalizer.lisp) is very new and very untested. In addition, there was a buglet in map-document.
(It would be quite helpful if you could come up with more test cases for the namespace normalizer as a basis for a little test suite!)
CL-USER(38): (dom:map-document (cxml:make-namespace-normalizer (cxml:make-octet-stream-sink *standard-output*)) svg :include-doctype :canonical-notations) <svg href="#nothing" xmlns="http://www.w3.org/1999/xlink" xmlns="http://www.w3.org/2000/svg"></svg>
Okay, now that gives: <svg NS1:href="#nothing" xmlns="http://www.w3.org/2000/svg" xmlns:NS1="http://www.w3.org/1999/xlink"></svg>
<svg xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/2000/svg"> <defs> <rect fill="black" height="10" id="default-node-shape" stroke="blue" width="60"></rect> </defs> </svg>
Fixed that too.
Please update to CVS and test again.
Thanks, d.