must property names be empty and attributeless?

In all extant examples of PROPFIND, the names of the properties to be
fetched are always passed as empty tags, e.g.

<D:propfind>
 <D:prop>
   <D:getcontentlength/>
   <X:shoesize/>
 </D:prop>
</D:propfind>

Is there anything in the DTD that mandates that the property names be empty
and have no attributes?  The DTD for prop is ANY, which seems to allow it,
but perhaps there are unstated assumptions that the tags be empty.

To motivate this, suppose I have a property store that can express the same
underlying value in one of several units, e.g. metric or english.  I'd like
the PROPFIND client to be able to express a choice of units.  There are at
least three ways this could be done.

1) Express the units with a tag within the property (thus it ceases to be
empty), e.g.

<D:propfind>
 <D:prop>
   <X:shoesize>
     <X:units><X:metric/></X:units>
   </X:shoesize>
 </D:prop>
</D:propfind>

2) Express the units as an attribute of the property

<D:propfind>
 <D:prop>
   <X:shoesize units="metric"/>
 </D:prop>
</D:propfind>

Are either or both of these approaches allowed by WebDAV?

As for the third way, it is awful:  Express the units by concatenating them
into the name of the property itself.  I mention it only to prevent some
kindly soul from suggesting it to me as a workaround.

Received on Saturday, 20 June 1998 21:32:42 UTC