- 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