Lists Home |
Date Index |
Ronald Bourret wrote:
> > The notion of "not in any namespace" is bogus.
> Technically, it isn't. To quote from the namespaces spec:
> "If the URI reference in a default namespace declaration is empty, then
> unprefixed elements in the scope of the declaration are not considered
> to be in any namespace."
Technically it is. This statement establishes a fiction which no other w3c specfication follows and which no implementation
adheres to. Were they to, it would not be possible to compare such names. As such the notion is bogus. That it appeared in the
spec is one of the reasons it is "bogus". Otherwise it would just be wrong.
> Again, that's technically an implementation detail. Nothing in the
> namespaces spec requires it.
> > If there were not true, such names would be incommensuarable and
> > validation would not be possible.
> I'm not sure what "incommensurable" means, but I don't follow why
> validation is not possible.
Practically, were one to apply a name-comparison function to one of them, it would have to throw an exception.
> You simply have two sets of validation rules
> -- one for validating names in namespaces and the other for validating
> names not in namespaces. You can, of course, join these into a single
> code line by using a "null" namespace for the latter but, as I said,
> that's an implementation detail.
We disagree. How one models a set of comparable values which are collected into the set which is identified with the null
namespace prefix may be an implementation detail. How one names the set, and whether one can bind the set to a prefix may be a
question of encoding rules and implementation, but that there must be such a set, and the the behaviour of that set differs in
no form from the other sets of names. This is a consequence of the properties of universal names. I haven't read other parser's
code in serveral months, and the same applies to a range of w3c specs, but as of the last time I did, nothing suggested an
abstract model for universal names which contradicted this. So long as two unprefixed qualified names outside of the scope of a
default namespace declaration are intended to denote the same universal name, this remains true.
So, the set is there, and the question arises, whether encoding rules and implementation models which treat that set differently
are entailed by any of the relevant specifications. Again, as of last reading this was not the case.