[
Lists Home |
Date Index |
Thread Index
]
> When people complain about namespaces, do they mean that
> namespaces should
> not exist at all? Do they think they are useless? Or do
> they think they
> should be replaced by something else? Or do they have in
> mind some simple
> changes to the syntax, such as using URI/localname pairs everywhere?
It's too late to fix the problems now, but it's easy to identify them.
(a) Naming is architecturally fundamental: changing the naming architecture
of XML by means of a bolt-on to the core standard was an incorrect layering
that was bound to lead to many practical problems.
(b) An example of these problems is the incompatibility between namespaces
and DTDs.
(c) It has always been ambiguous whether prefixes are significant or not.
(d) The indirection between prefixes and URIs makes the interpretation of
many textual fragments (XML entities, XPath expressions, XQueries, even
schema documents) context-dependent.
(e) The use of URIs as namespace names has always been fuzzy around the
edges, as exemplified by the "relative URI" debacle.
I'm sure I identified these problems on this list while namespaces were
still in draft, though I can't trace it now. I do clearly recall predicting
(wrongly, of course) that namespaces were so flawed technically that they
would never catch on.
I have advocated one change which I believe would alleviate the problems:
there should be a lexical representation of expanded names that uses the URI
and local name, rather than prefix and local name, and this representation
should be permitted in any context where a lexical QName is permitted,
including in element names and attribute names in source XML, in
QName-valued attributes, and in path expressions. This would mean that any
XML fragment, XPath expression, etc, could be "namespace-normalized" to make
it context free.
Michael Kay
|