Lists Home |
Date Index |
Alessandro Triglia wrote:
> 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 tempting to say that people complain about namespaces because the
spec is impenetrable but the vast majority of those people don't read
specs anyway, and certainly not that one.
The first problem I've found when teaching namespaces is over
expectations. People thing the URIs resolve to something magical (which
they should, but usually don't). Then they think that they inherit to
descendant elements or to attributes. This is usually dealt with by
repeating ten times over that namespaces are dumb.
Then you have different rules between elements and attributes for
default namespaces. Nothing terrible, but people don't like that kind of
inconsistency. There aren't really better solutions if you want to have
default namespaces (which you do, a lot, if you're hand writing your XML).
The W3C also doesn't help with its wonderful rule that "Cool URIs should
be as hard as possible to remember". Throwing a random year in your
namespace URIs is considered Good Practice. I guess we should be
thankful they're not URNs.
Finally, most of the common APIs were designed before namespaces, which
were later grafted onto them. Thanks to that, not only are namespaces
painful to use with those but it's altogether too easy to mix
namespace-aware and non-namespace-aware manipulations, resulting in
scary results that are hard to predict for the users.