RE: Change namespace of xml:id

Hi Chris,

>So, in your opinion, a specification can make pronouncements about the
>behavior of reserved attributes and this is correct?

In two separate sense, no.  

1) The namespaces recommendation does *not* reserve attribute names
in the xml namespace for use by XML.  It says

"Prefixes beginning with the three-letter sequence x, m, l, in any 
case combination, are reserved for use by XML and XML-related specifications."

So it is not true that the namespaces rec justifies the addition of 
attributes to the xml namespace.

2) The c14n spec made a statement not about 'reserved attributes' (which
were not reserved at the time), but rather about the handling of the namespace.
This statement was based on the understanding that a namespace is
"a collection of names, identified by a URI reference." 

I'm not making this up.  It's the first definition in the namespaces rec.

So here's a collection of names: A={lang, space}.
And here's a second collection of names: B={lang, space, id, base}.

The two are not identical (no reasonable equals operator on any
collection class I know of would return true when comparing these), 
so they cannot both be 'identified' by a single URI.

Put another way, a namespace is defined to be a 2-tuple (C, U) where
C is a collection of names, and U is an identifying URI for C.  I argue
that the XML namespace is being changed because 

(A, http://www.w3.org/XML/1998/namespace) != (B, http://www.w3.org/XML/1998/namespace)


>Identity, for a namespace URI, is based on strong comparison. It
>compares the URIs. I does not compare the set of identifiers in that
>namespace.

Answered above.  I'm talking about comparison of namespaces, not comparison of
namespace URIs.

>JB> due to the normative definition of namespace appearing 
>JB> Namespaces in XML.

>I agree that the normative definition of the URI appeared in XML 1.0. It
>would be an error to redefine that URI. The URI has not been redefined.

The normative definition of the xml namespace URI appears in the namespaces
recommendation.  Only the collection of names in that space was defined by XML 1.0.

The normative definition of namespace is the third thing that I'm trying 
really hard to get everyone to focus on because the namespace is the
combination of a URI and a set of names.  Change either one and you have
changed the namespace.

Cheers,
John Boyer

Received on Wednesday, 9 February 2005 00:17:58 UTC