Uche Ogbuji on the usage of QNames in content:
Prefixes are supposed to be insignificant. Users should have flexibility to use whatever prefix, blah blah blah. I’m sorry, but that’s all theoretically nice, but we have practical problems to solve. The fact that the most powerful constructs in XPath depend for their semantics on the whimsy of prefix choices should bother you a bit. The fact that Canonical XML had to abandon the idea of normalizing prefixes should bother you even more. It’s time to just say that xsl means “The XSLT namespace” (yeah, yeah: “what version?” etc.—hard problems would still remain) and that if you choose to use it for a different namespace, you’re technically compliant to namespaces, but you’re asking for a heaping help of trouble, buddy.
That would be a very sad resolution to the problem, but quite possibly the only pragmatic one.