Re: essential test cases?

> A sort of extreme view of the "absolutize" proposal would
>add the following to the set of non-conforming documents:
>
>  <x xmlns:n1="./xyz"
>     xmlns:n2="././xyz" >
>    <bad a="1"     a="2" />
>    <bad n1:a="1"  n2:a="2" />
>  </x>

I don't think that's an extreme version; I think that's basic to the
absolutizing proposal. The conflict arises when you try to set two
attributes with the same localname and namespace... and if you're
absolutizing, these _are_ resolved to the same namespace. If that isn't
what you want, then you really aren't talking about Absolutizing namespaces
-- you're talking about Literal, with applications absolutizing if/when so
inclined and/or with a convenience method that returns the absolutized
version.

The DOM needs to be able to recognize a node by its NSURI/localname pair.
That means it has to implement some form of "are these the same NSURI"
test. That test will be used by the DOM to find and overwrite attributes,
which means that it will be what enforces namespace-well-formedness by
saying that only one attribute per element can match this pair of names.

Under the Literal version, both would be retained.
Under the Forbid version, both would be forbidden.
Under the Absolutize version, trying to construct the above in the DOM
would overwrite n1:a="1" with n2:a="2", since they absolutize to the same
URI and thus are considered the same attribute.
Under the Undefined version we haven't a clue, and whatever it does today
on my machine may not be what it does tomorrow on yours. Or next week on
mine, for that matter.

______________________________________
Joe Kesselman  / IBM Research

Received on Wednesday, 14 June 2000 14:35:06 UTC