Marcus R brought up this blog recently:
Here is a summary of the various POVs.
James C: Capability is occasionally useful, but not that useful. prefix/namespace disutiliy outweighs utility.
Using URIs was not necessary and uncritically adopted. But good for RDF.
Nesting declarations seemed reasonable at the time, but ....
Michael K: Should be built in, not layered. Using URIs is a misguided. URIs don't get dereferenced to get the schema
etc anyway. Unclarity about infoset status of prefixes.
E Rusty H: Qnames in content a mistake. (Namespace declarations apply to XPaths in attributes? RJ: not in Schematron
they don't!) Making declarations element-scoped (rather than document-scoped) and overrideable (especially
default mapping) is the problem.
Mukul G: Being able to bind to schemas, and preventing name collusions is useful.
(But don't adopt unless clearly required.)
Tony C, Unknown, Anonymous. Ditto What is the alternative? How do we automatically bind a document to a schema?
Orcmid: Inability to have certainty w.r.t. schemas.
LIam Q: HTML5 crowd also dislikes namespace syntax: the HTML 5 processor implies the namespace from the element name.
Proposal for "Unobtrusive Namespaces" and "Imaginary Namespaces"
David RRW: CAM uses dictionary instead of namespaces. (I.e. individual name registration?)
Only place namespaces were useful was distinguishing (formatting) annotations not part of original content.
Ed D: No mechanism to say when qname in content is used. DTDs should have been made namespace aware.
Pierre A: Good to integrate namespaces into XML spec. Use of qnames in content difficult.
Murata-sensei: Namespace declarations better as PIs. Nesting bindings a problem. qnames in content (or attributes)
not handled uniformly.
John C:LMNL didn't allow prefix remapping or multiple prefixes for the same URI. Namespace declarations not tied to elements. Lexical scoping. Different rules for default namespace.
Gavin N: Namespaces add significantly to DOM size. Couples processing and semantcs unnecessarily. Namespaces fight extensibility.
Bent R: Namespaces not used enough. Could get rid of comment and PII syntax by making a namespace for them instead. "Is human readability a benefit or an issue?" It "leads to things like attributes". "Really there are only elements"
Virendra: need out-of-the-box approach (i.e. a different over-web mechanism not just a different syntax?)
To which I add:
Rick: Setting default namespaces and nested or local declarations and redeclarations work against "manifest markup" where you only need to look at the tag (and perhaps a header) to know what is going on. I appreciate that it was a useful mechanism for, e.g. pulling in HTML documents into XHTML without having to prefix every element name in a tag or mess up CSS stylesheets; however perhaps XHTML was really a one-off, and not so compelling now.
Regards
Rick