跳到主要内容

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