Just as a bit of background...
Originally, in Sodipodi, namespaces were ignored entirely. Any element
without a prefix was assumed to be SVG, xlink: was always assumed to be
XLink, and sodipodi: always Sodipodi stuff. We did add xmlns
declarations just to keep parsers happy, but that was it.
Obviously that was deeply wrong to do.
It was difficult for me to get buy-in for a sweeping change, however.=20
What I did finally did get accepted was a simple hack -- I remapped the
prefixes on load to what Sodipodi expected.
So, at that point, if you loaded a document where the SVG namespace was
bound to the blah: prefix, "blah:g" would become "g" in memory.=20
Similarly, if ook: were bound to the Sodipodi namespace, "ook:namedview"
would become "sodipodi:namedview" in memory. This is the code we
inherited from Sodipodi, and the approach I refer to as "normalized
Now, there were a couple shortcomings that remained:
One, this was only done on load. The serialization code still didn't
know anything about namespaces and we simply relied on stuffing a bunch
of xmlns attributes in the document and hoping that covered everything.=20
Not a simple thing to fix, unfortunately.
Two, non-namespaced elements would appear to be in the svg namespace.=20
This means that some non-SVG elements would get interpreted (and saved)
as SVG elements. Thankfully, that was trivially fixable by normalizing
svg elements to use the prefix svg: instead of none.
As I noted on the Sodipodi list at that time, I did want to go back and
address those two shortcomings, but Things Happened, and a year or two
later I'm writing this.
We did inherit both shortcomings, so it's high time I did something
about them. I just knocked out the second one, and I'm hoping I can
spend some time on the first one soon.
The serializer improvements shouild actually afford a lot of opportunity
to make our XML output prettier, including using shorter prefixes (e.g.
maybe just i: for inkscape's namespace) in serialized files. And of
course using SVG as the default namespace again, where practical to do