Previously parsing a document like this:
<root xmlns:foo='http:/example.org/foo' foo:bar='1'/>
Would produce an incorrect document when turning it back into a string:
<root xmlns:foo='http:/example.org/foo' http:/example.org/foo:bar='1'/>
This patch fixes this by implementing a proper lookup for namespace
prefixes.