Module Webdavz.Prop

WebDAV property names and accessors.

WebDAV resources have properties identified by XML qualified names (namespace URI + local name). This module defines the well-known property names from RFC 4918 Section 15 and provides accessors for property sets.

Dead vs Live Properties

Types

type t = ((string * string) * Webdavz__.Webdavz_xml.tree list) list

A property set: association list of (qualified_name, value_elements).

The value is a list of child XML trees — an empty list represents an element with no content (e.g., <resourcetype/>).

Well-known DAV: Properties

These are the standard property names defined in RFC 4918 Section 15. All are in the "DAV:" namespace.

val resourcetype : string * string

("DAV:", "resourcetype") — specifies the nature of the resource.

Collections contain a <DAV:collection/> child element.

val displayname : string * string

("DAV:", "displayname") — human-readable name for the resource.

val getcontenttype : string * string

("DAV:", "getcontenttype") — MIME type of the resource content.

val getcontentlength : string * string

("DAV:", "getcontentlength") — content length in bytes.

val getetag : string * string

("DAV:", "getetag") — entity tag for the resource.

val getlastmodified : string * string

("DAV:", "getlastmodified") — last modification date (RFC 1123 format).

val creationdate : string * string

("DAV:", "creationdate") — creation date (ISO 8601 format).

val supportedlock : string * string

("DAV:", "supportedlock") — lock capabilities.

An empty element signals no lock support (class 1 compliance).

val lockdiscovery : string * string

("DAV:", "lockdiscovery") — active locks on the resource.

An empty element signals no active locks.

Accessors

val find : (string * string) -> t -> Webdavz__.Webdavz_xml.tree list option

find name props returns the value trees for name, or None if the property is not present.

val is_collection : t -> bool

is_collection props returns true if the resourcetype property contains a <DAV:collection/> child element.