[Dev] Parcel namespaces and the schema API

Phillip J. Eby pje at telecommunity.com
Wed May 11 09:30:41 PDT 2005


At 08:37 AM 5/11/2005 -0700, Lisa Dusseault wrote:
>If the namespace doesn't matter -- and I tend to agree -- then why not 
>make the namespace we define our elements in be simply 
>"http://osafoundation.org/namespace" and let 3rd parties use their own 
>namespace?

1. I'm not proposing changing the existing OSAF namespaces for anything but 
Zaobao; why needlessly churn the existing parcel.xml files?  So, '/parcels' 
should remain our root namespace.

2. The purpose for which namespaces are currently used is to allow one 
parcel to refer to elements defined in another.  Allowing third parties to 
choose their own namespaces means there are *two* things a parcel developer 
has to know for each parcel: its Python package name, and its arbitrary XML 
namespace.  And, it is not possible to determine the XML namespace from the 
package name, or vice versa, if the XML namespace is allowed to be arbitrary.

Thus, allowing users to define their own namespace for parcel content 
identification produces needless overhead for parcel developers while 
providing no benefit.  Therefore it should be eliminated.

Please keep in mind that unique URIs will not fix the fact that top-level 
parcel directory names must also be unique.  If the directory names must be 
unique, then using them to form the URI will ensure uniqueness in a working 
system.  In a system that's not working, it doesn't matter whether the 
namespace URIs are unique!

That is, if the system isn't working, the namespace URIs can be unique or 
collide, but either way the system is still non-functional.  Thus, it makes 
no sense to worry about the URI collision, because fixing it doesn't fix 
the more stringent anti-collision requirement of directory 
uniqueness.  It's closing the barn door after the horse has bolted, and it 
doesn't put the horse back in the barn.

The result of this is that our namespace *is* effectively managed by OSAF, 
just in an operational way rather than an administrative way.  If you 
wanted to, you could insist that all parcels have a package name that 
includes the developer's domain, e.g. I would have to write parcels using 
'telecommunity_com_foo' as the top-level package name.  I personally think 
this is overkill, though.



More information about the Dev mailing list