RE: RFC2518 (WebDAV) / RFC2396 (URI) inconsistency

> From: w3c-dist-auth-request@w3.org
> [mailto:w3c-dist-auth-request@w3.org]On Behalf Of Jim Whitehead
> Sent: Wednesday, November 21, 2001 3:29 AM
> To: w3c-dist-auth@w3.org; uri@w3.org
> Subject: RE: RFC2518 (WebDAV) / RFC2396 (URI) inconsistency
>
> ...
>
> That is, the "dav:" URI scheme can be considered a member of the class of
> non-hierarchical URIs described on page 12 of RFC 2396. In particular, it
> was never the intent that just the string "dav:" would be
> considered a full
> URI. The string "dav:" is a URI scheme name, not a URI. The string "dav:"
> plus a string matching the production "opaque_part" is a URI.

Correct so far.

> * WebDAV marshals "dav:" URIs that are the name of XML elements as a
> {namespace} + {opaque_part} pair.  So, for example, "dav:creationdate" is
> <D:creationdate xmlns:D="dav:">.

RFC2518 says *nothing* about URIs in the DAV: URI scheme. RFC2518 itself
never says that an element name or a property "has" a URI.

<D:creationdate xmlns:D="dav:"> must be read according to the specs that
exist, and this means: an XML element with name "D:creationdate", local name
"creationdate" and namespace name "dav:". BTW: this should have been "DAV:",
right?

If you claim that any element or property in WebDAV has a URI, you'd have to
answer:

- do WebDAV element names and properties share the same namespace?
- what are the URIs (identifiers!!!) for: <cd xmlns="http://a/b/" /> and <d
xmlns="http://a/b/c" />?

> * The XML Namespace recommendation requires that the namespace
> identifier be
> a URI.

Correct.

> * Since "dav:" scheme URIs are members of the class of non-hierarchical
> URIs, the only constant part is the URI scheme name itself,
> "dav:". From the
> definition of non-hierarchical URIs given in RFC 2396, ALL
> non-hierarchical
> URIs will share this quality. Since "dav:" is the only constant
> part, it is
> the only part of a "dav:" scheme URI suitable for use as the namespace
> identifier.

Why would that be? "DAV:deltaV" and "mailto:julian.reschke@gmx.de" are
perfectly valid URIs and therefore useable as namespace names.

> To summarize:
> * The "dav:" URI scheme is perfectly legal according to RFC 2396.

Yes.

> Therefore,
> no change is needed to RFC 2396.
> * It is only the use of the "dav:" URI scheme name as an namespace
> identifier that is violating any specification. Either RFC 2518 or the XML
> Namespaces specification could be changed to rectify this.

Guess what will be asked to be changed then :-)

> In my opinion, it is natural to want to use the URI scheme name as the XML
> namespace identifier.  That is:
>
> <D:getcontentlength xmlns:D="DAV:">
>
> is more natural than:
>
> <D:getcontentlength xmlns:D="http://www.webdav.org/">

It's shorter, but it's invalid (according to the XML NS rec), while the
other one is perfectly valid.

> Not to mention that it uses fewer bytes on the wire (not a huge
> consideration these days, but those bytes add up over millions of daily
> users).

OK, let's tell the W3C to use "xhtml:" instead of
"http://www.w3.org/1999/xhtml".

> As a result, I recommend that the XML namespace recommendation be modified
> to allow the use of just the URI scheme name as a namespace identifier,
> perhaps limited to just members of the set of non-hierarchical URIs. It
> seems clear to me that the XML namespace recommendation was written with
> only the class of hierarchical URIs in mind, and as a result it's not too
> surprising that a glitch arose in the first use with
> non-hierarchical URIs.

I doubt that anybody is going to touch XMLNS, but I'd still be interested
how you come to this conclusion. The issue is not with non-hierarchical
URIs, the issue is that RFC2518 is using "DAV:" as URI where it shouldn't.

> Based on Julian's experience, and our experience with multiple WebDAV
> implementations, accepting a URI scheme name as a namespace
> identifier would
> codify existing, interoperable, practice.

*Lack* of interoperability with James Clark's code in JING exactly is the
reason why we have this discussion. I think we should thank him for actually
*using* the grammer in RFC2396 for validation, so this was finally
uncovered.

Received on Wednesday, 21 November 2001 05:12:46 UTC