14. XML Element Definitions
This section defines all XML elements used in WebDAV protocol messages. All elements are in the DAV: namespace and may be extended according to Section 17 rules.
Core XML Elements (30 Definitions)
14.1 activelock
Purpose: Describes a lock on a resource.
<!ELEMENT activelock (lockscope, locktype, depth, owner?, timeout?, locktoken?, lockroot)>
14.2 allprop
Purpose: Specifies that all names and values of dead properties and live properties are to be returned.
<!ELEMENT allprop EMPTY >
14.3 collection
Purpose: Identifies the associated resource as a collection. MUST be in DAV:resourcetype property.
<!ELEMENT collection EMPTY >
14.4 depth
Purpose: Represents depth values in XML content.
Value: "0" | "1" | "infinity"
<!ELEMENT depth (#PCDATA) >
14.5 error
Purpose: Provides detailed error information for 403/409 responses. Child elements identify precondition/postcondition codes.
<!ELEMENT error ANY >
14.6 exclusive
Purpose: Specifies an exclusive lock.
<!ELEMENT exclusive EMPTY >
14.7 href
Purpose: MUST contain a URI or relative reference.
<!ELEMENT href (#PCDATA)>
14.8 include
Purpose: Child elements represent property names to include in PROPFIND response (with allprop).
<!ELEMENT include ANY >
14.9 location
Purpose: Provides Location header value in multistatus responses.
<!ELEMENT location (href)>
14.10 lockentry
Purpose: Defines lock types that can be used with the resource.
<!ELEMENT lockentry (lockscope, locktype) >
14.11 lockinfo
Purpose: Used with LOCK method to specify the type of lock requested.
<!ELEMENT lockinfo (lockscope, locktype, owner?) >
14.12 lockroot
Purpose: Contains the root URL of the lock (the URL used in the LOCK request).
<!ELEMENT lockroot (href) >
14.13 lockscope
Purpose: Specifies whether a lock is exclusive or shared.
<!ELEMENT lockscope (exclusive | shared) >
14.14 locktoken
Purpose: The lock token associated with a lock.
<!ELEMENT locktoken (href) >
14.15 locktype
Purpose: Specifies the access type of a lock. Currently only write lock is defined.
<!ELEMENT locktype (write) >
14.16 multistatus
Purpose: Contains multiple response messages.
<!ELEMENT multistatus (response*, responsedescription?) >
14.17 owner
Purpose: Client-supplied information about the lock creator. Treated as dead property (preserved).
Extensibility: MAY be extended with child elements, mixed content, text, or attributes.
<!ELEMENT owner ANY >
14.18 prop
Purpose: Generic container for resource properties. MUST NOT contain text or mixed content.
<!ELEMENT prop ANY >
14.19 propertyupdate
Purpose: Container for property modification request.
<!ELEMENT propertyupdate (remove | set)+ >
14.20 propfind
Purpose: Specifies properties to be returned from PROPFIND method.
<!ELEMENT propfind ( propname | (allprop, include?) | prop ) >
14.21 propname
Purpose: Specifies that only property names are to be returned.
<!ELEMENT propname EMPTY >
14.22 propstat
Purpose: Groups together prop and status for a particular href.
<!ELEMENT propstat (prop, status, error?, responsedescription?) >
14.23 remove
Purpose: Lists properties to be removed. Property elements MUST be empty.
<!ELEMENT remove (prop) >
14.24 response
Purpose: Single response describing method effect on resource and/or properties.
<!ELEMENT response (href, ((href*, status)|(propstat+)), error?, responsedescription?, location?) >
14.25 responsedescription
Purpose: Human-readable information about a status response.
<!ELEMENT responsedescription (#PCDATA) >
14.26 set
Purpose: Lists property values to be set. If property exists, value is replaced.
<!ELEMENT set (prop) >
14.27 shared
Purpose: Specifies a shared lock.
<!ELEMENT shared EMPTY >
14.28 status
Purpose: Holds a single HTTP status-line.
Value: status-line (Section 6.1 of RFC 2616)
<!ELEMENT status (#PCDATA) >
14.29 timeout
Purpose: Seconds remaining before lock expires.
Value: TimeType (Section 10.7)
<!ELEMENT timeout (#PCDATA) >
14.30 write
Purpose: Specifies a write lock.
<!ELEMENT write EMPTY >
XML Element Categories
Lock-Related Elements
activelock, exclusive, shared, lockentry, lockinfo, lockroot, lockscope, locktoken, locktype, timeout, write, owner
Property-Related Elements
prop, propfind, propname, allprop, include, propertyupdate, propstat, set, remove
Response Elements
multistatus, response, propstat, status, error, responsedescription, location
General Elements
href, depth, collection
Note: All elements in DAV: namespace. For complete specifications including extensibility rules, see RFC 4918 Section 14.