跳到主要内容

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 节.