- From: Jim Whitehead <ejw@ics.uci.edu>
- Date: Thu, 29 Oct 1998 15:56:17 -0800
- To: Greg Stein <gstein@lyra.org>, w3c-dist-auth@w3.org
On Tuesday, October 27, 1998, Greg Stein wrote: > The specification is not clear on whether attributes of a property name > element are considered to be part of its value. Specifically, take this > example: > > <?xml version="1.0"?> > <propertyupdate> > <set> > <prop> > <prop1 attr="value"> > contents > </prop1> > <prop2 attr="value"/> > </prop> > </set> > </propertyupdate> > > Is the above legal? What is the expected result from a PROPFIND? > > The examples (and text) for PROPFIND/PROPPATCH do not cover attributes > at all. I presume they are legal for markup *within* a <prop1>..</prop1> > element, but I haven't found anything discussing attributes on the > <prop1> element itself. It's amazing how such a simple question can directly lead to a *very* complex issue space. While it may seem reasonable to say that if an XML element in a PROPPATCH has an attribute, this attribute needs to be persistently stored, retrievable using PROPFIND, showing up in the same element in the PROPFIND that it was located in the PROPPATCH. But, there are several issues which you encounter as a result. 1) It may be quite reasonable for the server to NOT return the attributes exactly as they were entered. For example, with XML namespaces, the server may decide to minimize the size of the output XML stream by using appropriate XML namespace defaulting rules. Thus an element which had an attribute in PROPFIND isn't guaranteed to have that same attribute on a PROPPATCH, though the results will be semantically equivalent. This makes it difficult to specify the desired behavior for attributes. 2) A common implementation strategy for WebDAV properties is to store them in a RDBMS. These systems react poorly to random attributes in a property stream (please dynamically add this column to the database :-) While these systems might be able to handle a set of known attributes (in effect hardwired into the system), how a server would advertise this attribute set to clients is undefined, part of the general problem known as "schema discovery" which we (correctly, I believe) decided not to address. My sense of the working group is there does not currently exist any consensus on this topic. Nor, given the depth of the issues, is it likely that any consensus could be achieved quickly. My recommendation is to leave this issue unresolved, and be silent on this topic within the spec. (except, perhaps, to note that we are intentionally silent) until the DASL group has refined issues concerning typing, and there is more implementation experience on properties. - Jim
Received on Thursday, 29 October 1998 19:02:26 UTC