14. XML 元素定义 (XML Element Definitions)
本节定义 WebDAV 协议消息中使用的所有 XML 元素. 所有元素都位于 DAV: 命名空间中, 并且可以按照第 17 节的规则进行扩展.
核心 XML 元素 (30 个定义)
14.1 activelock
用途 (Purpose): 描述资源上的一个锁.
<!ELEMENT activelock (lockscope, locktype, depth, owner?, timeout?, locktoken?, lockroot)>
14.2 allprop
用途 (Purpose): 指定要返回死属性和活属性的所有名称和值.
<!ELEMENT allprop EMPTY >
14.3 collection
用途 (Purpose): 将关联资源标识为集合. 它必须位于 DAV:resourcetype 属性中.
<!ELEMENT collection EMPTY >
14.4 depth
用途 (Purpose): 表示 XML 内容中的深度值.
值 (Value): "0" | "1" | "infinity"
<!ELEMENT depth (#PCDATA) >
14.5 error
用途 (Purpose): 为 403/409 响应提供详细错误信息. 子元素用于标识前置条件/后置条件代码.
<!ELEMENT error ANY >
14.6 exclusive
用途 (Purpose): 指定排他锁.
<!ELEMENT exclusive EMPTY >
14.7 href
用途 (Purpose): 必须包含 URI 或相对引用.
<!ELEMENT href (#PCDATA)>
14.8 include
用途 (Purpose): 子元素表示要包含在 PROPFIND 响应中的属性名称 (与 allprop 一起使用).
<!ELEMENT include ANY >
14.9 location
用途 (Purpose): 在 multistatus 响应中提供 Location 头部值.
<!ELEMENT location (href)>
14.10 lockentry
用途 (Purpose): 定义可用于该资源的锁类型.
<!ELEMENT lockentry (lockscope, locktype) >
14.11 lockinfo
用途 (Purpose): 与 LOCK 方法一起使用, 用于指定所请求的锁类型.
<!ELEMENT lockinfo (lockscope, locktype, owner?) >
14.12 lockroot
用途 (Purpose): 包含锁的根 URL (即 LOCK 请求中使用的 URL).
<!ELEMENT lockroot (href) >
14.13 lockscope
用途 (Purpose): 指定锁是排他的还是共享的.
<!ELEMENT lockscope (exclusive | shared) >
14.14 locktoken
用途 (Purpose): 与锁关联的锁令牌.
<!ELEMENT locktoken (href) >
14.15 locktype
用途 (Purpose): 指定锁的访问类型. 当前只定义了写锁.
<!ELEMENT locktype (write) >
14.16 multistatus
用途 (Purpose): 包含多个响应消息.
<!ELEMENT multistatus (response*, responsedescription?) >
14.17 owner
用途 (Purpose): 客户端提供的关于锁创建者的信息. 按死属性处理并保留.
可扩展性 (Extensibility): 可以使用子元素,混合内容,文本或属性进行扩展.
<!ELEMENT owner ANY >
14.18 prop
用途 (Purpose): 资源属性的通用容器. 禁止包含文本或混合内容.
<!ELEMENT prop ANY >
14.19 propertyupdate
用途 (Purpose): 属性修改请求的容器.
<!ELEMENT propertyupdate (remove | set)+ >
14.20 propfind
用途 (Purpose): 指定 PROPFIND 方法要返回的属性.
<!ELEMENT propfind ( propname | (allprop, include?) | prop ) >
14.21 propname
用途 (Purpose): 指定只返回属性名称.
<!ELEMENT propname EMPTY >
14.22 propstat
用途 (Purpose): 将特定 href 的 prop 和 status 组合在一起.
<!ELEMENT propstat (prop, status, error?, responsedescription?) >
14.23 remove
用途 (Purpose): 列出要移除的属性. 属性元素必须为空.
<!ELEMENT remove (prop) >
14.24 response
用途 (Purpose): 描述方法对资源和/或属性影响的单个响应.
<!ELEMENT response (href, ((href*, status)|(propstat+)), error?, responsedescription?, location?) >
14.25 responsedescription
用途 (Purpose): 关于状态响应的可读信息.
<!ELEMENT responsedescription (#PCDATA) >
14.26 set
用途 (Purpose): 列出要设置的属性值. 如果属性已存在, 则替换其值.
<!ELEMENT set (prop) >
14.27 shared
用途 (Purpose): 指定共享锁.
<!ELEMENT shared EMPTY >
14.28 status
用途 (Purpose): 保存单个 HTTP 状态行.
值 (Value): status-line (RFC 2616 第 6.1 节)
<!ELEMENT status (#PCDATA) >
14.29 timeout
用途 (Purpose): 锁过期前剩余的秒数.
值 (Value): TimeType (第 10.7 节)
<!ELEMENT timeout (#PCDATA) >
14.30 write
用途 (Purpose): 指定写锁.
<!ELEMENT write EMPTY >
XML 元素类别
与锁相关的元素
activelock, exclusive, shared, lockentry, lockinfo, lockroot, lockscope, locktoken, locktype, timeout, write, owner
与属性相关的元素
prop, propfind, propname, allprop, include, propertyupdate, propstat, set, remove
响应元素
multistatus, response, propstat, status, error, responsedescription, location
通用元素
href, depth, collection
注意 (Note): 所有元素都位于 DAV: 命名空间中. 有关包含可扩展性规则在内的完整规范, 请参见 RFC 4918 第 14 节.