(July 16, 2008: This approach has been replaced with a better version.)
In my enthusiasm to move the extraneous namespaces from the middle of the diffgram, I introduced a bug that would cause a duplicate attribute exception to be thrown in certain circumstances. I've fixed the code, and updated the orginal blog post. Sorry.
The original post is here.