Subject: RE: PROPFIND returning *more* than expected, and other questions

From: "Clemm, Geoff" <[email-masked]>
Date: Fri, 17 Jan 2003 08:53:28 -0500

We need to be a bit careful here.  This is not a case of the XML
processing rule in section 14, i.e. that the client MUST ignore
unknown XML elements. This rule does not apply to properties returned
by PROPFIND, since PROPFIND is defined to allow an arbitrary XML
element in that position.  Note that this is actually a bug in RFC
2518, since in section 14, it correctly states that the "ignore" rule
does not apply to setting DAV properties (i.e. PROPPATCH) but neglects
to mention that this rule also does not apply to fetching DAV
properties (i.e. PROPFIND).

But Yaron wasn't arguing that there is anything in the spec that says
it is legal for PROPFIND to return extra properties, rather that:
- it is not explicitly forbidden
- it is semantically harmless to return extra properties (since a client
can ignore the ones its not interested in)
- a client should handle this case to be prepared for buggy servers.

Although I agree with these points, I disagree with the conclusion,
i.e. that a server should therefore feel free to send back extra
properties.  This just wastes bandwidth and processing resources, and
wastes it in a way that cannot be controlled by the client.  If a
client wants the properties, it can ask for them.  I believe whatever
slight benefit one might imagine getting from these unrequested
properties is significantly outweighed by the wasted bandwidth and
client/server processing required to pass information that will, with a
high degree of probability, be ignored by an interoperable client
(i.e. a client not hardwired to the behavior of a particular server).

Cheers,
Geoff

-----Original Message-----
From: Joe Orton [mailto:[email-masked]]
Sent: Friday, January 17, 2003 3:32 AM
To: [email-masked]
Subject: Re: PROPFIND returning *more* than expected, and other
questions

On Thu, Jan 16, 2003 at 04:42:13PM -0800, Chris Knight wrote:
> 
> Julian Reschke wrote:
> >>behaviors for properties. Say, for example, you requested <foo:author>
> >>and the resource had <foo:author>, <foo:author_name>, and <foo:authors>
> >>the server's response would contain all of these properties.
> >
> >
> >If you do this upon PROPFIND/prop, that's illegal.
> 
> I thought this too but I didn't find anything in the RFC that would make 
> such behavior illegal. I don't think it's worthy of inclusion in the RFC 
> but a clarification of this would be worthwhile.  (Clarification being 
> must the server only respond with the values requested?)

I asked this very same question a few years ago - Yaron said it's
perfectly legal for the server to return extra properties since the
client must ignore unknown/unexpected elements.

http://lists.w3.org/Archives/Public/w3c-dist-auth/2000JanMar/0196.html

Regards,

joe

---

From: Jason Crawford <[email-masked]>
Date: Fri, 17 Jan 2003 17:34:44 -0500

Do we think we need to enhance the spec in any way?  Or is it clear enough
now?

J.  (Yes, I'm alive... at least for the next 45 minutes. :-))

------------------------------------------
Phone: 914-784-7569,   [email-masked]

---

From: "Clemm, Geoff" <[email-masked]>
Date: Sat, 18 Jan 2003 20:05:42 -0500

Yes, as Julian's (revised :-) message states, the revision
should state that the exception to the ignore unknown
element rule applies only to the children of the DAV:prop element.

Cheers,
Geoff

-----Original Message-----
From: Julian Reschke [mailto:[email-masked]]

> From: Julian Reschke
>
> > From: Lisa Dusseault
> >
> > Sorry, what's the rationale for PROPFIND not ignoring unknown XML
> > elements?  Does this mean anywhere in the propfind body or just in
> > certain places? I assume it's supposed to fail when it sees unknown
> > elements?
> > ...
>
> Nope. PROPFIND must ignore unknown elements (hint: some servers don't...),
> *except* when child of a DAV:prop or DAV:propname element.

(after the morning coffee...):

...*except* when child of a DAV:prop element.