- From: James J. Hunt <jjh@allerton.de>
- Date: Mon, 05 Feb 2001 00:20:54 +0000
- To: ietf-dav-versioning@w3.org
- Message-ID: <3A7DF1E6.2C879D7B@allerton.de>
Dear Geoff, After sacrificing three nights, Jürgen and I have put together a DTD for DAV versioning. This version is based on prop-key and prop-value tags, were properties names are given as parameters. I will rewrite the DTD to pass properties as tags in prop and prop-apply. Then it should be completely WebDAV compatible. Please give me a couple of days to finish it. The current definition of how errors are returned in DAV versioning is incompatible with WebDAV. I have made a change that should be help there. The "at most one of .... in any order "is defined with an arbitrary order here. I will fix that as well, though it will not pretty be pretty. Please let me know if I have forgotten anything. The DTD and two examples, which validate against the DTD using Sun's latest XML parser, are included. Can you easily send me the all examples from the current draft or at least the draft as text? The tags add, set, and remove as used in labels, must be renamed because set and remove are already defined differently for propertyupdate. I still believe that a complete DTD is helpful for people who have not had a chance to sit in on all the DAV versioning discussions. I find the document to be too dependent on examples. A DTD that is consistent with the examples would help. Sincerely, James J. Hunt P.S. An example of our new proposal for expand-property with properties as tags instead of attributes will be as follows: <?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE DAV:webdav-1.0 SYSTEM "http://www.webdav.org/dtd/deltav-0.12.1.1.dtd" !> <expand-property xmlns="DAV:"> <prop-apply> <version-history/> <prop-apply> <version-set/> <prop> <creator-displayname/> <activity-set/> </prop> </prop-apply> </prop-apply> </expand-property>
<!--============ Root Elements ================== propfind propertyupdate propertybehavior multistatus prop lockinfo version-tree expand-property options options-response options-value collection-set-value checkout checkin update locate-history version-control merge merge-preview label baseline-control baseline baseline-comparision latest-activity-version checkout-fork checkin-fork merge-response merge-preview-response baseline-comparision-report latest-activity-version-report error ============ End Root Elements ==================--> <!--============ Top Level DAV Requests ==================--> <!ELEMENT propfind (allprop | propname | prop)> <!ATTLIST propfind xmlns CDATA #IMPLIED xmlns:DAV CDATA #IMPLIED> <!ELEMENT allprop EMPTY> <!ATTLIST allprop xmlns CDATA #IMPLIED> <!ELEMENT propname EMPTY> <!ATTLIST propname xmlns CDATA #IMPLIED> <!ELEMENT propertyupdate (remove | set)+> <!ATTLIST propertyupdate xmlns CDATA #IMPLIED> <!ELEMENT remove (prop)> <!ELEMENT set (prop)> <!ELEMENT propertybehavior (omit | keepalive)> <!ATTLIST propertybehavior xmlns CDATA #IMPLIED> <!ELEMENT omit EMPTY> <!ELEMENT keepalive (#PCDATA | href)*> <!--============ Top Level DAV Responses ==================--> <!ELEMENT multistatus (response+, (responsedescription | error)?)> <!ATTLIST multistatus xmlns CDATA #IMPLIED> <!-- added! --> <!ELEMENT response (href, ((href*, status)|(propstat+)), (responsedescription | error)?)> <!-- added! --> <!ELEMENT propstat (prop, status, (responsedescription | error)?)> <!-- added! --> <!ELEMENT status (#PCDATA)> <!ELEMENT responsedescription (#PCDATA)> <!ELEMENT prop (prop-key* | (prop-value | prop-multivalue)*)> <!--- modified! --> <!ATTLIST prop xmlns CDATA #IMPLIED> <!ATTLIST prop xmlns:DAV CDATA #IMPLIED> <!ELEMENT prop-key EMPTY> <!-- new! --> <!ATTLIST prop-key name CDATA #REQUIRED> <!-- new! --> <!ELEMENT prop-value ANY> <!-- new! --> <!ATTLIST prop-value name CDATA #REQUIRED> <!-- new! --> <!ELEMENT lockinfo (lockscope, locktype, owner?)> <!ATTLIST lockinfo xmlns CDATA #IMPLIED> <!ELEMENT locktype (write)> <!ELEMENT write EMPTY> <!--============ Additional XML Elements from Section 12 ==================--> <!ELEMENT lockscope (exclusive | shared)> <!ELEMENT exclusive EMPTY> <!ELEMENT shared EMPTY> <!ELEMENT owner ANY> <!ELEMENT href (#PCDATA)> <!--=========== Property Values ===============--> <!--=========== Value for DAV:resourcetype ===============--> <!ELEMENT collection EMPTY> <!--=========== Value for DAV:lockdiscovery ===============--> <!ELEMENT activelock (lockscope, locktype, depth, owner?, timeout?, locktoken?)> <!ELEMENT depth (#PCDATA)> <!ELEMENT timeout (#PCDATA)> <!ELEMENT locktoken (href+)> <!--=========== Value for DAV:source ===============--> <!ELEMENT link (src+, dst+)> <!ELEMENT dst (#PCDATA)> <!ELEMENT src (#PCDATA)> <!--=========== Value for DAV:supportedlocks ===============--> <!ELEMENT lockentry (lockscope, locktype)> <!--=========== WebDAV defined properties =============== name value DAV:creationdate (#PCDATA) DAV:displayname (#PCDATA) DAV:getcontentlanguage (#PCDATA) DAV:getcontentlength (#PCDATA) DAV:getcontenttype (#PCDATA) DAV:getetag (#PCDATA) DAV:getlastmodified (#PCDATA) DAV:lockdiscovery (DAV:activelock)* DAV:resourcetype ANY DAV:source (link)* DAV:supportedlock (lockentry)* ====================================================--> <!--=========== Top Level DeltaV core Requests ===============--> <!ELEMENT version-tree (prop?)> <!ATTLIST version-tree xmlns CDATA #IMPLIED> <!ELEMENT expand-property (prop-apply*)> <!ATTLIST expand-property xmlns CDATA #IMPLIED> <!ELEMENT prop-apply ((prop-apply | prop-key)*)> <!ATTLIST prop-apply name CDATA #REQUIRED> <!ELEMENT options ((option-key | server-prop-key)*)> <!ATTLIST options xmlns CDATA #IMPLIED> <!ELEMENT options-key EMPTY> <!ATTLIST options-key name (DAV:supported-methods-set | DAV:supported-live-property-set) #REQUIRED> <!-- May be extended here --> <!ELEMENT server-prop-key EMPTY> <!ATTLIST server-prop-key name (DAV:version-history-collection-set | DAV:workspace-collection-set | DAV:activity-collection-set) #REQUIRED> <!-- May be extended here --> <!--=========== Top Level DeltaV core Responses ===============--> <!ELEMENT options-response ((option-value | collection-set-value)*)> <!ATTLIST options-response xmlns CDATA #IMPLIED> <!ELEMENT options-value (option-descriptor*)> <!ATTLIST options-value xmlns CDATA #IMPLIED> <!ATTLIST options-value name (DAV:supported-methods-set | DAV:supported-live-property-set) #REQUIRED> <!-- May be extended here --> <!ELEMENT option-descriptor (suboption*)> <!ATTLIST option-descriptor name CDATA #REQUIRED> <!ELEMENT suboption (suboption*)> <!ATTLIST suboption name CDATA #REQUIRED><!-- suboptions can be nested --> <!ELEMENT collection-set-value (href*)> <!ATTLIST collection-set-value xmlns CDATA #IMPLIED> <!ATTLIST collection-set-value name (DAV:version-history-collection-set | DAV:workspace-collection-set | DAV:activity-collection-set) #REQUIRED> <!-- May be extended here --> <!--=========== WebDAV defined core properties =============== name value DAV:checked-in (DAV:href) DAV:checked-out (DAV:href) DAV:predecessor-set (DAV:href+) DAV:precursor-set (DAV:href*) DAV:auto-version (DAV:when-unlocked?, DAV:when-locked?) DAV:predecessor-set (DAV:href*) DAV:successor-set (DAV:href*) DAV:checkout-set (DAV:href*) DAV:version-name (#PCDATA) DAV:precursor-set (DAV:href*) DAV:version-control (DAV:already-version-controlled?) ====================================================--> <!ELEMENT when-unlocked EMPTY> <!ELEMENT when-locked EMPTY> <!ELEMENT already-version-controlled EMPTY> <!--=========== Top Level DeltaV optional Requests ===============--> <!ELEMENT checkout (activity-set? | apply-to-version? | unreserved? | fork-ok?)> <!-- May be extended here --> <!ATTLIST checkout xmlns CDATA #IMPLIED> <!ELEMENT avtivity-set (href+|new)> <!ELEMENT new EMPTY> <!ELEMENT unreserved EMPTY> <!ELEMENT checkin (keep-check-out?)> <!-- May be extended here --> <!ATTLIST checkin xmlns CDATA #IMPLIED> <!ELEMENT keep-checked-out EMPTY> <!ELEMENT update ((version? | label-name? | variant?), fork-ok?)> <!-- May be extended here --> <!ATTLIST update xmlns CDATA #IMPLIED> <!ELEMENT variant (href)> <!ELEMENT locate-history (version-history-set, prop)> <!ATTLIST locate-history xmlns CDATA #IMPLIED> <!ELEMENT version-history-set (href+)> <!ELEMENT version-control (version?, variant-control?)> <!-- May be extended here --> <!ATTLIST version-control xmlns CDATA #IMPLIED> <!ELEMENT variant-control EMPTY> <!ELEMENT merge (source, no-auto-merge?, no-checkout?, apply-to-version?, fork-ok?, prop?)> <!-- May be extended here --> <!ATTLIST merge xmlns CDATA #IMPLIED> <!ELEMENT no-auto-merge EMPTY> <!ELEMENT no-checkout EMPTY> <!ELEMENT merge-preview (source)> <!ATTLIST merge-preview xmlns CDATA #IMPLIED> <!ELEMENT label (add-label | set-label | remove-label)> <!ATTLIST label xmlns CDATA #IMPLIED> <!ELEMENT add-label (label-name)> <!-- Renamed from add --> <!ELEMENT set-label (label-name)> <!-- Renamed from set --> <!ELEMENT remove-label (label-name)> <!-- Renamed from remove --> <!ELEMENT baseline-control (baseline?)><!-- May be extended here --> <!ATTLIST baseline-control xmlns CDATA #IMPLIED> <!ELEMENT baseline (href)> <!ATTLIST baseline xmlns CDATA #IMPLIED> <!ELEMENT baseline-comparision (href)> <!ATTLIST baseline-comparision xmlns CDATA #IMPLIED> <!ELEMENT latest-activity-version (href)> <!ATTLIST latest-activity-version xmlns CDATA #IMPLIED> <!ELEMENT checkout-fork (ok | discouraged | forbidden)?> <!-- May be extended here --> <!ATTLIST checkout-fork xmlns CDATA #IMPLIED> <!ELEMENT checkin-fork (ok | discouraged | forbidden)?> <!-- May be extended here --> <!ATTLIST checkin-fork xmlns CDATA #IMPLIED> <!--=========== Top Level DeltaV optional Responses ===============--> <!ELEMENT merge-response (update-set?, merged-set?, ignored-set)?> <!-- May be extended here --> <!ATTLIST merge-response xmlns CDATA #IMPLIED> <!ELEMENT updated-set (response+)> <!ELEMENT merged-set (response+)> <!ELEMENT ignored-set (href+)> <!ELEMENT merge-preview-response (update-preview | conflict | ignored-preview)*> <!-- was ignore-preview --> <!ATTLIST merge-preview-response xmlns CDATA #IMPLIED> <!ELEMENT update-preview (target, version)> <!ELEMENT conflict (target, common-ancestor, version)> <!ELEMENT target (href)> <!ELEMENT common-ancestor (href)> <!ELEMENT ignored-preview (version)> <!-- should be DAV:href --> <!ELEMENT baseline-comparision-report (added-version | deleted-version | changed-version)*> <!ATTLIST baseline-comparision-report xmlns CDATA #IMPLIED> <!ELEMENT added-version (href)> <!ELEMENT deleted-version (href)> <!ELEMENT changed-version (href, href)> <!ELEMENT latest-activity-version-report (href)> <!ATTLIST latest-activity-version-report xmlns CDATA #IMPLIED> <!--=========== DeltaV Optional Extensions ===============--> <!ELEMENT apply-to-version EMPTY> <!--=========== DeltaV Common Elements ===============--> <!ELEMENT version (href)> <!ELEMENT label-name (#PCDATA)> <!ELEMENT fork-ok EMPTY> <!ELEMENT source (href)> <!ELEMENT ok EMPTY> <!ELEMENT discouraged EMPTY> <!ELEMENT forbidden EMPTY> <!--=========== DeltaV Extensions to DAV:Prop ===============--> <!ELEMENT prop-multivalue (response*)> <!--- new!! --> <!ATTLIST prop-multivalue name CDATA #REQUIRED> <!--=========== Property Values ===============--> <!--=========== Value for DAV:resourcetype ===============--> <!ELEMENT history EMPTY> <!ELEMENT version-controlled-binding (binding-name, version-history)> <!ELEMENT binding-name (#PCDATA)> <!ELEMENT version-history (href)> <!ELEMENT string (#PCDATA)> <!ELEMENT name (#PCDATA)> <!--=========== WebDAV defined optional properties =============== name value DAV:version-set (DAV:href+) DAV:root-version (DAV:href) DAV:version-history (DAV:href) DAV:workspace-checkout-set (DAV:href*) DAV:workspace (DAV:href) DAV:merge-set (DAV:href*) DAV:auto-merge-set (DAV:href*) DAV:baseline-controlled-collection (DAV:href) DAV:subbaseline-set (DAV:href*) DAV:baseline-collection (DAV:href) DAV:baseline-selector (DAV:href) DAV:baseline-controlled-collection-set (DAV:href*) DAV:activity-version-set (DAV:href*) DAV:activity-checkout-set (DAV:href*) DAV:subactivity-set (DAV:href*) DAV:current-workspace-set (DAV:href*) DAV:activity-set (DAV:href*) DAV:reserved (#PCDATA) was unreserved DAV:current-activity-set (DAV:href*) DAV:version-controlled-binding-set (version-controlled-binding*) DAV:eclipse-set (DAV:href*) DAV:variant-set (DAV:href*) DAV:default-variant (DAV:href) DAV:comment (DAV:string*) DAV:creator-displayname (DAV:name*) ====================================================--> <!--================ DeltaV errors =====================--> <!--- new!! --> <!ELEMENT error (user-defined-error | put-under-version-control-error | already-under-version-control-error | cannot-modify-version-controlled-content-error | cannot-modify-version-error | cannot-modify-version-controlled-property-error | cannot-modify-protected-property-error | cannot-modify-unsupported-property-error | auto-version-when-unlocked-error | cannot-delete-root-version-error | cannot-delete-referenced-version-error | no-version-delete-error | update-predecessor-set-error | initialize-precursor-error | auto-checkout-when-locked-error | cannot-rename-resource-error | preserve-history-error | must-be-checked-in-error | is-checked-out-error | initialize-predecessor-set-error | must-be-checked-out-error | version-history-is-tree-error | create-version-error | initialize-version-content-and-properties-error | checked-in-error | keep-checked-out-error | must-be-checked-out-version-controlled-resource-error | cancel-checked-out-error | restore-content-and-dead-properties-error | must-be-checked-in-version-controlled-resource-error | must-select-version-in-same-history-error | update-content-and-dead-properties-error | update-checked-in-property-error | must-be-version-history-error | delete-version-set-error | cannot-copy-history-error | new-version-history-error | add-to-history-error | create-working-resource-error | create-working-resource-from-checked-in-version-error | delete-working-resource-error | resource-must-be-null-error | workspace-location-ok-error | initialize-workspace-error | delete-workspace-members-error | workspace-member-moved-error | workspace-moved-error | cannot-add-to-existing-history-error | must-be-version-error | one-version-controlled-resource-per-history-per-workspace-error | new-version-controlled-resource-error | cannot-merge-checked-out-resource-error | checkout-not-allowed-error | ancestor-version-error | descendant-version-error | checked-out-for-merge-error | update-merge-set-error | report-ignored-set-error | report-properties-error | delete-version-reference-error | merge-must-be-complete-error | must-not-be-checked-out-error | must-be-new-label-error | label-must-exist-error | add-label-error | remove-label-error | must-not-have-label-and-apply-to-version-error | depth-update-error | version-controlled-configuration-must-be-empty-error | must-be-baseline-error | must-have-no-version-controlled-members-error | one-baseline-controlled-collection-per-history-per-workspace-error | create-version-controlled-configuration-error | reference-version-controlled-configuration-error | select-existing-baseline-error | create-empty-baseline-error | baselines-from-same-history-error | no-checked-out-baseline-controlled-collection-members-error | create-baseline-collection-error | auto-baseline-error | baseline-controlled-members-must-be-checked-in-error | set-baseline-controlled-collection-members-error | merge-baseline-error | activity-location-ok-error | initialize-activity-error | must-be-activity-error | delete-activity-reference-error | update-checked-out-reference-error | update-activity-reference-error | update-workspace-reference-error | one-checkout-per-activity-per-history-error | linear-activity-error | initialize-activity-set-error | initialize-unreserved-error | atomic-activity-checkin-error | checkin-activity-error | cannot-modify-checked-in-parent-error | cannot-modify-destination-checked-in-parent-error | initialize-version-history-bindings-error | initialize-version-controlled-bindings-error | version-control-working-collection-members-error | update-version-controlled-collection-members-error | checkout-of-version-with-descendant-is-forbidden-error | checkout-of-version-with-descendant-is-discouraged-error | checkout-of-checked-out-version-is-forbidden-error | checkout-of-checked-out-version-is-discouraged-error | checkin-fork-forbidden-error | checkin-fork-discouraged-error | cannot-delete-default-variant-error | delete-variant-reference-error | cannot-rename-variant-error | variant-control-error | create-new-variant-error | delete-variant-predecessor-error | must-select-variant-error | update-default-variant-error | update-variant-controlled-resource-error)> <!-- May be extended here --> <!ELEMENT user-defined-error ANY> <!--- new!! --> <!ELEMENT put-under-version-control-error EMPTY> <!ELEMENT already-under-version-control-error EMPTY> <!ELEMENT cannot-modify-version-controlled-content-error EMPTY> <!ELEMENT auto-version-when-unlocked-error EMPTY> <!ELEMENT cannot-modify-version-controlled-property-error EMPTY> <!ELEMENT cannot-modify-version-error EMPTY> <!ELEMENT cannot-modify-protected-property-error EMPTY> <!ELEMENT cannot-modify-unsupported-property-error EMPTY> <!ELEMENT cannot-delete-root-version-error EMPTY> <!ELEMENT cannot-delete-referenced-version-error EMPTY> <!ELEMENT no-version-delete-error EMPTY> <!ELEMENT update-predecessor-set-error EMPTY> <!ELEMENT initialize-precursor-error EMPTY> <!ELEMENT auto-checkout-when-locked-error EMPTY> <!ELEMENT cannot-rename-resource-error EMPTY> <!ELEMENT preserve-history-error EMPTY> <!ELEMENT version-history-is-tree-error EMPTY> <!ELEMENT create-version-error EMPTY> <!ELEMENT must-be-checked-in-error EMPTY> <!ELEMENT is-checked-out-error EMPTY> <!ELEMENT initialize-predecessor-set-error EMPTY> <!ELEMENT must-be-checked-out-error EMPTY> <!ELEMENT initialize-version-content-and-properties-error EMPTY> <!ELEMENT checked-in-error EMPTY> <!ELEMENT keep-checked-out-error EMPTY> <!ELEMENT must-be-checked-out-version-controlled-resource-error EMPTY> <!ELEMENT cancel-checked-out-error EMPTY> <!ELEMENT restore-content-and-dead-properties-error EMPTY> <!ELEMENT must-be-checked-in-version-controlled-resource-error EMPTY> <!ELEMENT must-select-version-in-same-history-error EMPTY> <!ELEMENT update-content-and-dead-properties-error EMPTY> <!ELEMENT update-checked-in-property-error EMPTY> <!ELEMENT must-be-version-history-error EMPTY> <!ELEMENT delete-version-set-error EMPTY> <!ELEMENT cannot-copy-history-error EMPTY> <!ELEMENT new-version-history-error EMPTY> <!ELEMENT add-to-history-error EMPTY> <!ELEMENT create-working-resource-error EMPTY> <!ELEMENT create-working-resource-from-checked-in-version-error EMPTY> <!ELEMENT delete-working-resource-error EMPTY> <!ELEMENT resource-must-be-null-error EMPTY> <!ELEMENT workspace-location-ok-error EMPTY> <!ELEMENT initialize-workspace-error EMPTY> <!ELEMENT delete-workspace-members-error EMPTY> <!ELEMENT workspace-member-moved-error EMPTY> <!ELEMENT workspace-moved-error EMPTY> <!ELEMENT cannot-add-to-existing-history-error EMPTY> <!ELEMENT must-be-version-error EMPTY> <!ELEMENT one-version-controlled-resource-per-history-per-workspace-error EMPTY> <!ELEMENT new-version-controlled-resource-error EMPTY> <!ELEMENT cannot-merge-checked-out-resource-error EMPTY> <!ELEMENT checkout-not-allowed-error EMPTY> <!ELEMENT ancestor-version-error EMPTY> <!ELEMENT descendant-version-error EMPTY> <!ELEMENT checked-out-for-merge-error EMPTY> <!ELEMENT update-merge-set-error EMPTY> <!ELEMENT report-ignored-set-error EMPTY> <!ELEMENT report-properties-error EMPTY> <!ELEMENT delete-version-reference-error EMPTY> <!ELEMENT merge-must-be-complete-error EMPTY> <!ELEMENT must-not-be-checked-out-error EMPTY> <!ELEMENT must-be-new-label-error EMPTY> <!ELEMENT label-must-exist-error EMPTY> <!ELEMENT add-label-error EMPTY> <!ELEMENT remove-label-error EMPTY> <!ELEMENT must-not-have-label-and-apply-to-version-error EMPTY> <!ELEMENT depth-update-error EMPTY> <!ELEMENT version-controlled-configuration-must-be-empty-error EMPTY> <!ELEMENT must-be-baseline-error EMPTY> <!ELEMENT must-have-no-version-controlled-members-error EMPTY> <!ELEMENT one-baseline-controlled-collection-per-history-per-workspace-error EMPTY> <!ELEMENT create-version-controlled-configuration-error EMPTY> <!ELEMENT reference-version-controlled-configuration-error EMPTY> <!ELEMENT select-existing-baseline-error EMPTY> <!ELEMENT create-empty-baseline-error EMPTY> <!ELEMENT baselines-from-same-history-error EMPTY> <!ELEMENT no-checked-out-baseline-controlled-collection-members-error EMPTY> <!ELEMENT create-baseline-collection-error EMPTY> <!ELEMENT auto-baseline-error EMPTY> <!ELEMENT baseline-controlled-members-must-be-checked-in-error EMPTY> <!ELEMENT set-baseline-controlled-collection-members-error EMPTY> <!ELEMENT merge-baseline-error EMPTY> <!ELEMENT activity-location-ok-error EMPTY> <!ELEMENT initialize-activity-error EMPTY> <!ELEMENT must-be-activity-error EMPTY> <!ELEMENT delete-activity-reference-error EMPTY> <!ELEMENT update-checked-out-reference-error EMPTY> <!ELEMENT update-activity-reference-error EMPTY> <!ELEMENT update-workspace-reference-error EMPTY> <!ELEMENT one-checkout-per-activity-per-history-error EMPTY> <!ELEMENT linear-activity-error EMPTY> <!ELEMENT initialize-activity-set-error EMPTY> <!ELEMENT initialize-unreserved-error EMPTY> <!ELEMENT atomic-activity-checkin-error EMPTY> <!ELEMENT checkin-activity-error EMPTY> <!ELEMENT cannot-modify-checked-in-parent-error EMPTY> <!ELEMENT cannot-modify-destination-checked-in-parent-error EMPTY> <!ELEMENT initialize-version-history-bindings-error EMPTY> <!ELEMENT initialize-version-controlled-bindings-error EMPTY> <!ELEMENT version-control-working-collection-members-error EMPTY> <!ELEMENT update-version-controlled-collection-members-error EMPTY> <!ELEMENT checkout-of-version-with-descendant-is-forbidden-error EMPTY> <!ELEMENT checkout-of-version-with-descendant-is-discouraged-error EMPTY> <!ELEMENT checkout-of-checked-out-version-is-forbidden-error EMPTY> <!ELEMENT checkout-of-checked-out-version-is-discouraged-error EMPTY> <!ELEMENT checkin-fork-forbidden-error EMPTY> <!ELEMENT checkin-fork-discouraged-error EMPTY> <!ELEMENT cannot-delete-default-variant-error EMPTY> <!ELEMENT delete-variant-reference-error EMPTY> <!ELEMENT cannot-rename-variant-error EMPTY> <!ELEMENT variant-control-error EMPTY> <!ELEMENT create-new-variant-error EMPTY> <!ELEMENT delete-variant-predecessor-error EMPTY> <!ELEMENT must-select-variant-error EMPTY> <!ELEMENT update-default-variant-error EMPTY> <!ELEMENT update-variant-controlled-resource-error EMPTY>
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE DAV:propfind SYSTEM "http://www.webdav.org/dtd/deltav-0.12.1.0.dtd"> <propfind xmlns="DAV:"> <prop> <prop-key name="DAV:versionable-resource-collection-set"/> <prop-key name="DAV:version-history-collection-set"/> </prop> </propfind>
<?xml version="1.0" encoding="utf-8" ?> <!DOCTYPE multistatus SYSTEM "http://www.webdav.org/dtd/deltav-0.12.1.0.dtd"> <multistatus xmlns="DAV:"> <response> <href>http://www.webdav.org</href> <propstat> <prop> <prop-value name="DAV:versionable-resource-collection-set"> <href>http://www.webdav.org/public/projects</href> <href>http://www.webdav.org/users/projects</href> </prop-value> <prop-value name="DAV:version-history-collection-set"> <href>http://www.webdav.org/public/archive</href> <href>http://www.webdav.org/users/archive</href> </prop-value> </prop> <status>HTTP/1.1 200 OK</status> </propstat> </response> </multistatus>
Received on Sunday, 4 February 2001 18:20:51 UTC