WD-xml-names-19980916

With respect to WD-xml-names-19980916

The statement: "This draft specification is a work in progress 
representing the current consensus of the W3C XML Working Group."
is innacurate. The XML Working Group no longer exists, and thus
no consensus is possible.

The statement: "It is the intent of the XML Working Group that this
namespace facility should become an integral part of some future 
version of the XML specification." is innacurate and misleading.
Since the XML Working no longer exists, it may not express intent.
And, since the XML IG has not expressed it's intent with regard
to this Working Draft, it is entirely innappropriate to make such
an assertion.

The statement: "XML namespaces provide a simple method for qualifying 
names used in Extensible Markup Language documents by associating 
them with namespaces identified by URI." is not entirely accurate.
In fact, this WD provides a method for qualifying only element
and attribute names. There are other names in XML that are not 
covered by this WD.

In Section 1, the statement: "These considerations require that 
document constructs should have universal names, whose scope 
extends beyond their containing document. This specification 
describes a mechanism, XML namespaces, which accomplishes this."
is not entirely accurate. The first statement is true. The assertion
which follows disregards the need for universal names for constructs
such as entities, notations and processing instructions.

In Section 6, the statement:

	The effect of conformance is that in such a document: 
		[...]
		No entity names, PI targets, or notation names contain any colons. 

is an unnecessary contraint on free trade of XML documents.
It should be possible to conform to this WD without regard
for naming rules on entities, notations or processing instructions.

In Appendix A, the paragraph:

"XML 1.0 does not provide a built-in way to declare "global" attributes; 
items such as the HTML CLASS attribute are global only in their prose 
description and their interpretation by HTML applications. However, such 
attributes, an important distinguishing feature of which is that their 
names are unique, are commonly observed to occur in a variety of 
applications."

Notwithstanding the observation, there is no such thing as a
global attribute in XML, and thus any reference to them
should be stricken from this WD.

In Section A.3, the description of an expanded attribute name
does not consider the need to know the name of the element
to which a so-called "global attribute" is attached. We 
believe that this required information.

The following is a note that I sent to the XML-Names list.
It expresses requirements of Veo in XML Namespaces.
We believe that the namespace specification is incomplete
unless it addresses the names of entities, notations
and processing instructions. In addition, our analysis
of the XML namespace yields a much more rigorous definition
of the namespace partitions.

On Mon, 24 Aug 1998 12:52:02 -0400 I wrote the 
following message to this list and to the XML WG list.
I have never received a response. Seeing that 
discussion has begin anew, I request that the 
editors of the namespaces draft please consider 
this input and respond to it....

======================================================

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, context 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@yuri.org
Canada, L1W 3K6    		

Received on Tuesday, 15 September 1998 02:35:05 UTC