- From: David G. Durand <david@dynamicdiagrams.com>
- Date: Thu, 8 Jun 2000 11:14:18 -0400
- To: XML-uri@w3.org
At 4:59 PM -0500 6/7/00, Dan Connolly wrote:
>David Carlisle wrote:
>SNIP
> > No. You always know whether a a string is being used as a namespace
>> name or as a resource identifier, so the fact that these two disjoint
>> concepts happen to use the same set of strings is no problem.
>
>Of course it's no problem... it's something to be exploited!
Once there's an interoperable way to handle multiple schema languages
and definitions, it can be exploited. Without the proper MIME-types
(to enable content-negotiation), or a catalog format (to enable
indirection), such dereferencing creates more interoperability
problems than it solves. Rick Jelliffe has explained this very
clearly.
For an example of a system that provided the proper hooks, but
insufficient sets of standard data formats, feel free to read about
HyTime. While HyTime had hooks for data format labelling, the lack of
a populated namespace made those hooks much less useful than they
could have been. Note, that I'm not claiming that this was the
only/major problem with securing adoption for HyTime, just a
contributing factor.
> > You may _wish_ the namespace to be the resource identified by the
>> namespace name considered as a URI, but in general (and probably
>> always) that is not the case.
>
>Yes, I do wish it were so, and I sincerely hope we will remove
>the typo from the namespace spec that says otherwise.
This misrepresents the history significantly. There was a typo that
allowed relative URI references, in an attempt to allow only for the
presence of fragment identifiers. The fact that URIs, as used for
namespaces, were not required to have any dereferencing semantics was
a clear and consistent goal of the group working on the standard, and
of Microsoft in proposing it (at least from an early date). The fact
that you have consistently disagreed with this notion is _not_
justification for calling it a "typo".
> > I see no way that the namespace
>> mechanism could possibly be altered to make it the case.
>
>The mechanism is pretty much fine as is, except in the way
>that implementations treat relative URI references.
>
>Just change
> ns_name = elem.getattr('xmlns')
>to
> ns_name = urlparse.urljoin(baseURI, elem.getattr('xmlns'))
>in the implementations, and that's it.
Or simply forbid relative URI references, and that's it.
Or simply deprecate relative URI references, and slate them for
destruction, and that's it.
Or simply live with the status quo, and explain the dangers of
relative URI references in that case, and deprecate them permanently.
Or simply leave the status quo, and point out the dereferencing a
relative URI reference for a namespace is officially undefined, leave
people to do what they want, and that's it.
Or....
There are many "simple" solutions, none of them satisfactory to everyone.
I think the space of possible solutions has been clear since the
beginning of the discussion, before, indeed, thanks to Michael
Sperberg-McQueen's summary in the original discussion (that followed
the established procedure for resolving questions like this).
We continue to have basic disagreements as to which solutions are
most tolerable, and which issues are important, like ensuring that,
if the recommendation is revised, documents created according to the
letter of the law will remain conformant at least to that version of
the standard.
We already had a vote of the membership, which is the usual way to
resolve an issue when consensus is failing due to disagreements in
principle. It's rare that anyone can happily compromise on their
principles, and that's why voting is available: to decide the
question when someone simply has to lose the argument, and a decision
has to be made. We could also have an autocratic resolution, where a
choice is simply imposed from the top-down.
I have been dipping in and out of this discussion, and in addition to
its internal repetitiveness, I have seen nothing that was not
discussed ad nauseam in the previous W3C-internal discussions.
We've now made this formerly internal debate public. I don't see that
there's enough agreement to warrant overturning the decision already
made once, but that's just my take on it. I can live with things as
they are, though I'd prefer to require URIs for namespaces, and
abandon URI references as a bad idea for the moment. If they come in
later one, with the appropriate protocol elements in place to support
their use and the dereferencing of namespaces, then that's fine.
But the debate has reached a state of terminal redundancy.
In the vulgarian wisdom of the vernacular:
It's time to Sh*t or get off the pot.
-- David
--
_________________________________________
David Durand dgd@cs.bu.edu \ david@dynamicDiagrams.com
http://cs-people.bu.edu//dgd/ \ Chief Technical Officer
Graduate Student no more! \ Dynamic Diagrams
--------------------------------------------\ http://www.dynamicDiagrams.com/
\__________________________
Received on Thursday, 8 June 2000 11:24:23 UTC