Namespaces spec is incomplete

Folks,

I have long had difficulty with the namespace specification.
It has taken me a while to sort out, for myself, what the
problem is. But I now think that I am able to state it 
clearly.

First, my working assumption is that the specification 
*should* be trying to define what the *name* of any 
XML object is. That is, for any element type, attribute, 
notation, entity, or PI, what is its fully-qualified name?

Although some have argued that notations, entities and
processing instructions do not require namespace-qualification,
I disagree strongly with that assertion. Michael Sperberg-McQueen
has written at length about recombinant DTDs which could be
used to validate documents that employ namespaces. I think
that it is vitally important to be able to refer to notations,
entities and PIs in a namespace-unambiguous way.

Part of the namespace spec deals with XML's namespace partitions,
but does not state clearly all of the *parts of a name*,
nor how those parts can be combined to yield a fully-qualified
name for any XML object.

I submit the following for the consideration of the editors
of the namespace spec:

Name parts
In XML, the fully-qualified name of any XML object is 
considered to be composed of multiple parts, including:

namespace prefix part 
	The prefix attached to the object instance's name.
namespace URI part 
	The URI associated with the prefix
object type part 
	Depending on the object type, one of element, attribute,
	entity, notation, pi 
local name part 
	The object's name. 
scope part 
	For attributes only, the scope part is namespace, or element.
	For all other XML object types, the scope part is namespace.
	The default is namespace.
context part 
	For element-scoped attributes, the context part is the name 
	of the host element. This field may be empty for XML objects
	other than element-scoped attributes.

Future revisions of XML, and future schema languages may define
new scopes, which may extend the applicability of the context part.
In fact, XML 1.0 does not explicitly consider namespace-scoped
attributes (aka global attributes), but common convention has led 
to their inclusion in this proposal.

I further propose that the fully-qualified name of any XML objects 
is composed of the namespace URI part, followed by the 
object type part, scope part, conext part, and local name
part. Thus, the fully qualified name of 

	<foo:bar xmlns:foo="http://www.muzmo.com/foo">

is:	http://www.muzmo.com/foo?name="element:bar::"
or:	http://www.muzmo.com/foo?name="element:bar"

and, the fully-qualified name for the *color* attribute:

	<foo:bar color="red" xmlns:foo="http://www.muzmo.com/foo">

is:	http://www.muzmo.com/foo?name="attribute:color:element:bar"

but, the fully-qualified name of the *foo:size* attribute:

	<shoe foo:size="8" xmlns:foo="http://www.muzmo.com/foo">

is:	http://www.muzmo.com/foo?name="attribute:size:namespace:"
or:	http://www.muzmo.com/foo?name="attribute:size"
	
and, the fully-qualified name of the *foo:size* attribute:

	<foo:shoe foo:size="8" xmlns:foo="http://www.muzmo.com/foo">

is:	http://www.muzmo.com/foo?name="attribute:size:namespace:"
or:	http://www.muzmo.com/foo?name="attribute:size"
	
The specific syntax is not critical to the proposal. However,
it is essential that the name parts be identified and an 
agreed protocol be defined for naming the names of XML objects.
For example, the order of the name part fields could re-arranged,
and a character other than ":" might be used as a field separator.
Placement of the scope and context parts at the end has the 
advantage of allowing for some minimization as illustrated above.

Regards,

Murray

P.S. The preceding is a simplification of a comparable set
of rules for namespaces in an upcoming XML Schema Language
submission from Veo Systems Inc.




Murray Maloney, Esq.          Phone: (905) 509-9120
Muzmo Communication Inc.      Fax:   (905) 509-8637
671 Cowan Circle              Email: murray@muzmo.com
Pickering, Ontario 		Email: murray@veosys.com
Canada, L1W 3K6    		Email: murray@yuri.org

Received on Monday, 24 August 1998 12:52:16 UTC