Lists Home |
Date Index |
the cited note,
"W. E. Perry" wrote:
> "Simon St.Laurent" wrote:
> > firstname.lastname@example.org (Elliotte Rusty Harold) writes:
> > >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.
> > Looking at my SAX code and my XSLT stylesheets, this is definitely how I
> > use namespaces in practice. I worry about versioning genera, but we'll
> > see how that works over the next few years.
> I think that Elliotte is exactly right about the usefulness and importance
> of an Aristotelian taxonomy for XML names, but Simon rightly points out one
> of the areas (versioning) where the taxonomy permitted by Namespaces in XML
> is inadequate. With apologies for returning this thread to where it was ten
> days ago (http://lists.xml.org/archives/xml-dev/200302/msg01168.html) ...
overstates the inferences which are properly made based on namespace names. it is claimed that
"On the contrary, what remains are nothing but scope issues. The intent of namespaces is to disambiguate names by properly assigning them to semantic domains, ..."
this would be a mistake. the intent of namespaces is to disambiquate qualified names by properly assigning them to collections of universal names. if you will,
the mechanism used to bind a symbolic domain to a semantic domain is a matter for the processing infrastructure and not a matter for namespaces. in lisp,
depending on your processor, names are modelled as symbols, strings, or other interned instances. name data may be interned such that it has global identity or
document-specific identity. unique to symbols is that you can bind processing functions directly to the names - both dynamically and statically. in all cases,
the names can serve as specializers for generic functions, or as keys in hash tables or other dictionary forms and thereby associate a process with a name.
none of this has to do with namespaces. it has exclusively to do with the semantics of the implementation language.
on the other hand, some aspects of versioning have very much to do with names, and therefore with namespaces, and deserve more attention than has yet been
awarded them. it is important to treat them separately from any attempt to version sematic domains. in particular, it is imperative that specifications for
namespaces permit one to declare synonyms, that is names from distinct namespaces which, at least, based on local-part equality, should be understood to denote
the same universal name. with this, one can express versioning relationships succinctly. without it they are a nightmare.