Lists Home |
Date Index |
On Saturday 08 March 2003 09:40 am, Elliotte Rusty Harold wrote:
> At 10:44 PM -0500 3/7/03, Gavin Thomas Nicol wrote:
> >Is it
> > a) To mix and match elements from arbitrary markup vocabularies
> > b) To mix and match elements from arbitrary markup vocabularies with
> > no prior agreement.
> > c) To mix and match elements from arbitrary markup vocabularies with
> > no prior agreement, and to then *process* them.
d) To easily and quickly identify which vocabulary a given element comes
OK. One more possible reason. Any others? Why do you want to do this?
> I may still want to be able to dispatch the element to the right handler
> without a lot of effort. namespaces enable this.
You can do it fine without namespaces too though right? Surely an attribute,
or an XPath in the dispatcher would do just as well?
> In other words, it's useful for elements to have identifiers for
> their class as well as their own nature, a genera as well as a
> species. Very few people talk about this, but it is far and away the
> most important use of namespaces.
Sure. This really boils down to dispatch... based on some binding, you fork
processing off to some domain-specific interpreter. That's in effect, what an
XSL stylesheet does.... dispatch to functions based on match patterns.
That dispatch mechanism and the binding are currently application-specific (in
the broader sense of application) and are typically very constrained in the
number of different vocabularies that can be handled (though some of the very
earliest XML applications allowed arbitrary embedding, there seems to have
been swing away).
A largish part of my point is that namespaces are one particular way of
enabling dispatch, and not a particularly flexible or elegant one. Namespaces
don't really solve any problems that couldn't already be solved before they