Re: remove DAV:version property?

Dear Geoff,

Here is another alternative that does not break XML validity.

Sincerely,
James J. Hunt
Jürgen Reuter

DTD

<!ELEMENT DAV:expand-property (DAV:prop-apply*)>
<!ELEMENT DAV:prop-apply ((DAV:prop-apply | DAV:prop-key)*)>
<!ATTLIST DAV:prop-apply name ENTITY #REQUIRED>
<!ELEMENT DAV:prop-key EMPTY>
<!ATTLIST DAV:prop-key name ENTITY #REQUIRED>

<!ELEMENT DAV:prop-value ANY>
<!ATTLIST DAV:prop-value name ENTITY #REQUIRED>
<!ELEMENT DAV:prop-multivalue (DAV:response*)>
<!ATTLIST DAV:prop-multivalue name ENTITY #REQUIRED>

REQUEST

REPORT /foo.html HTTP/1.1
HOST: www.webdav.org
Content-Type: text/xml; charset="utf-8"
Content-Lenght: ????

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE DAV:webdav-1.0 SYSTEM "http://www.webdav.org/dtd/deltav-0.12.dtd" !>
<D:webdav-1.0 xmlns:D="DAV">
 <D:expand-property>
  <D:prop-apply name="DAV:version-history">
   <D:prop-apply name="DAV:version-set">
    <D:prop-key name="DAV:creator-displayname"/>
    <D:prop-key name="DAV:activity-set"/>
   </D:prop-apply>
  </D:prop-apply>
 </D:expand-property>
</D:webdav-1.0>

RESPONSE

HTTP/1.1 207 Mutli-Status
Content-Type: text/xml; charset="utf-8"
Content-Lenght: ????

<?xml version="1.0" encoding="utf-8" ?>
<!DOCTYPE DAV:webdav-1.0 SYSTEM "http://www.webdav.org/dtd/deltav-0.12.dtd" !>
<webdav-1.0 xmlns="DAV">
 <multistatus>
  <response>
   <href>http://www.webdav.org/foo.html</href>
   <propstat>
    <prop>
     <prop-multivalue name="DAV:version-history">
      <response>
       <href>http://repo.webdav.org/his/23</href>
       <propstat>
        <prop>
         <prop-multivalue name="DAV:version-set">
          <response>
           <href>http://repo.webdav.org/his/23/ver/1</href>
           <propstat>
            <prop>
             <prop-value name="DAV:creator-displayname"/>Fred</prop-value>
             <prop-value name="DAV:activity-set"/>
              <href>http://www.webdav.org/ws/dev/surely</href>
              <href>http://www.webdav.org/ws/dev/jest</href>
             </prop-value>
            </prop>
            <status>HTTP/1.1 200 OK</status>
           </propstat>
          </response>
          <response>
           <href>http://repo.webdav.org/his/23/ver/2</href>
           <propstat>
            <prop>
             <prop-value name="DAV:creator-displayname"/>Sally</prop-value>
             <prop-value name="DAV:activity-set"/>
              <href>http://repo.webdav.org/act/add-refresh-cmd</href>
             </prop-value>
            </prop>
            <status>HTTP/1.1 200 OK</status>
           </propstat>
          </response>
         </prop-multivalue>
        </prop>
        <status>HTTP/1.1 200 OK</status>
       </propstat>
      </response>
     </prop-multivalue>
    </prop>
    <status>HTTP/1.1 200 OK</status>
   </propstat>
  </response>
 </multistatus>
</webdav-1.0>


"Geoffrey M. Clemm" wrote:

>    From: Greg Stein <gstein@lyra.org>
>
>    btw, I just noticed: the expand-property example has an error: the
>    activity-set for .../ver/1 is missing <href> tags.
>
> Thanks for noticing that!  Will fix.
>
>    [ also note that expand-property "violates" DTDs for properties. cool with
>      me, but some DTD fanatics will be up in arms. (e.g. version-history isn't
>      defined to contains a DAV:response element) ]
>
> Good point.
>
> The only alternative I can see is to replace every occurrence of
> "href" in property definitions with "href|response", but that seems to
> me that it would cause more confusion than benefit to the reader.
>
> Since the DAV:response value will only come back in the
> DAV:expand-property report, only clients that understand this extended
> behavior will encounter it.  So unless the working group feels
> otherwise, I will address this point by adding some appropriate text
> to the DAV:expand-property section describing this DTD-extending
> impact, and not by modifying the DTD's.  Is this OK?
>
> Cheers,
> Geoff

Received on Friday, 2 February 2001 08:49:29 UTC