RE: namespace usage as assertions

At 10:48 AM -0400 6/23/00, keshlam@us.ibm.com wrote:
>  > every namespace is a scope which contains every possible legal XML name
>
>This is the level at which I have trouble with the assertion that "a
>namespace is a vocabulary"  -- I'm having a bit of trouble wrapping my mind
>around a definition of "vocabulary" which has an infinite set of members.

I think that it's less odd if you focus on the word "scope". 
Namespaces allow element type creators (the folks who make up tags) 
to create a globally unique scope which can be used to recognize 
those tags in an arbitrary XML document. The standard does not 
prescribe what kind of formal definition (if any) or special error 
checking (if any) are appropriate to names within such a scope -- 
that's because there's no agreement on how these things should be 
described (and I'm not sure there ever will be).

However, most definers of namespaces will add additional conditions. 
These will not be new conditions on what a well-formed document with 
namespaces is; rather than being syntactic constraints on the _form_ 
of an XML document these constraints will be semantic rules about the 
correct application of tags within that namespace.

The example of Xlink may be useful. Xlink has reserved a namespace, 
and declares a limited number of attribute and element type names 
within that namespace. Legal XML documents that refer to attribute 
names within that namespace that are _not_ defined by Xlink are 
illegal Xlink documents, though they are perfectly usable XML + 
Namespaces documents. The fact that the namespace claimed for Xlink 
is infinite is not a bug, since in Xlink's case it explicitly enables 
later expansion, without name collisions, since there's an infinite 
space of identifiers reserved just for xlink.

It's just like creating a Java package name: it gives you an infinite 
sandbox to play in without worrying about the collisions with other 
people's sandboxes.

At some point there may be a widely used, interoperable way to use a 
namespace URI to retrieve information that will let you verify 
automatically that the element types and attributes defined in that 
namespace are being used correctly.

This is part of the good idea that Dan and Tim (among others) are 
anxious to see in place. However, it's a significant step beyond 
where we are now, and that's going to take time.

   -- David
-- 
_________________________________________
David Durand              dgd@cs.bu.edu  \  david@dynamicDiagrams.com
http://cs-people.bu.edu//dgd/             \  Chief Technical Officer
     Graduate Student no more!              \  Dynamic Diagrams
--------------------------------------------\  http://www.dynamicDiagrams.com/
                                              \__________________________

Received on Friday, 23 June 2000 13:45:59 UTC