- From: James J. Hunt <jjh@ira.uka.de>
- Date: Fri, 2 Feb 2001 14:43:45 +0100
- To: ietf-dav-versioning@w3.org
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