Network Working Group                                         J. Reschke
Request for Comments: 4316                                    greenbytes
Category: Experimental                                     December 2005
        
Network Working Group                                         J. Reschke
Request for Comments: 4316                                    greenbytes
Category: Experimental                                     December 2005
        

Datatypes for Web Distributed Authoring and Versioning (WebDAV) Properties

Web分布式创作和版本控制(WebDAV)属性的数据类型

Status of This Memo

关于下段备忘

This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited.

这份备忘录为互联网社区定义了一个实验性协议。它没有规定任何类型的互联网标准。要求进行讨论并提出改进建议。本备忘录的分发不受限制。

Copyright Notice

版权公告

Copyright (C) The Internet Society (2005).

版权所有(C)互联网协会(2005年)。

Abstract

摘要

This specification extends the Web Distributed Authoring and Versioning Protocol (WebDAV) to support datatyping. Protocol elements are defined to let clients and servers specify the datatype, and to instruct the WebDAV method PROPFIND to return datatype information.

本规范扩展了Web分布式创作和版本控制协议(WebDAV),以支持数据类型。协议元素被定义为允许客户端和服务器指定数据类型,并指示WebDAV方法PROPFIND返回数据类型信息。

Table of Contents

目录

   1. Introduction ....................................................2
   2. Notational Conventions ..........................................2
   3. Overview ........................................................3
   4. Changes for PROPPATCH Method ....................................4
      4.1. Example of Successful PROPPATCH ............................4
      4.2. Example of Failed PROPPATCH ................................5
      4.3. Example of Successful PROPPATCH Where Type
           Information Was Not Preserved ..............................6
   5. Changes for PROPFIND Method .....................................7
      5.1. Example of PROPFIND/prop ...................................7
   6. Changes for Other Methods .......................................8
   7. Compatibility Considerations ....................................8
   8. Internationalization Considerations .............................9
   9. Security Considerations .........................................9
   10. Acknowledgements ...............................................9
   11. References .....................................................9
      11.1. Normative References ......................................9
      11.2. Informative References ....................................9
        
   1. Introduction ....................................................2
   2. Notational Conventions ..........................................2
   3. Overview ........................................................3
   4. Changes for PROPPATCH Method ....................................4
      4.1. Example of Successful PROPPATCH ............................4
      4.2. Example of Failed PROPPATCH ................................5
      4.3. Example of Successful PROPPATCH Where Type
           Information Was Not Preserved ..............................6
   5. Changes for PROPFIND Method .....................................7
      5.1. Example of PROPFIND/prop ...................................7
   6. Changes for Other Methods .......................................8
   7. Compatibility Considerations ....................................8
   8. Internationalization Considerations .............................9
   9. Security Considerations .........................................9
   10. Acknowledgements ...............................................9
   11. References .....................................................9
      11.1. Normative References ......................................9
      11.2. Informative References ....................................9
        
1. Introduction
1. 介绍

This specification builds on the infrastructure provided by the Web Distributed Authoring and Versioning (WebDAV) Protocol, adding support for data-typed properties.

本规范建立在Web分布式创作和版本控制(WebDAV)协议提供的基础设施之上,增加了对数据类型属性的支持。

Although servers must support XML content in property values, it may be desirable to persist values as scalar values when possible and to expose the data's type when the property value is returned to the client. The client is free to ignore this information, but it may be able to take advantage of it when modifying a property.

虽然服务器必须支持属性值中的XML内容,但在可能的情况下,可能需要将值作为标量值持久化,并在属性值返回给客户端时公开数据的类型。客户端可以随意忽略此信息,但在修改属性时可以利用此信息。

On the other hand, when setting new properties, it can be desirable to pass datatype information along with the value. A server can take advantage of this information to optimize storage and to perform additional parsing (for instance, of dates). Servers that support searching can also take advantage of known datatypes when doing comparisons and sorting.

另一方面,在设置新属性时,可能需要将数据类型信息与值一起传递。服务器可以利用此信息优化存储并执行附加解析(例如,日期解析)。支持搜索的服务器在进行比较和排序时还可以利用已知的数据类型。

The following potential datatyping-related features were deliberately considered out of scope:

以下潜在的数据类型相关功能被故意认为超出了范围:

o getting "schema" information for classes of resources (set of "required" properties, their types, display information),

o 获取资源类的“模式”信息(一组“必需”属性、它们的类型、显示信息),

o definition of a set of mandatory property types,

o 一组强制属性类型的定义,

o discovery of supported property types,

o 发现支持的属性类型,

o extensions to PROPPATCH that would allow updates to parts of a (structured) property.

o PROPPATCH的扩展,允许更新(结构化)属性的部分。

2. Notational Conventions
2. 符号约定

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照[RFC2119]中所述进行解释。

The term "property element" refers to the XML element that identifies a particular property, for instance,

术语“property元素”是指标识特定属性的XML元素,例如,

        <getcontentlength xmlns="DAV:" />
        
        <getcontentlength xmlns="DAV:" />
        

The term "prop element" is used for the WebDAV "prop" element as defined in Section 12.11 of [RFC2518].

术语“prop元素”用于[RFC2518]第12.11节中定义的WebDAV“prop”元素。

The XML representation of schema components uses a vocabulary identified by the namespace name "http://www.w3.org/2001/XMLSchema".

架构组件的XML表示使用由名称空间名称标识的词汇表“http://www.w3.org/2001/XMLSchema".

For brevity, the text and examples in this specification use the prefix "xs:" to stand for this namespace; in practice, any prefix can be used. "XML Schema Part 1: Structures" ([XS1]) also defines several attributes for direct use in any XML documents. These attributes are in a different namespace named "http://www.w3.org/2001/XMLSchema-instance". For brevity, the text and examples in this specification use the prefix "xsi:" to stand for this latter namespace; in practice, any prefix can be used.

为简洁起见,本规范中的文本和示例使用前缀“xs:”表示该名称空间;实际上,可以使用任何前缀。“XML模式第1部分:结构”([XS1])还定义了几个属性,可直接用于任何XML文档。这些属性位于名为“”的不同命名空间中http://www.w3.org/2001/XMLSchema-instance". 为简洁起见,本规范中的文本和示例使用前缀“xsi:”表示后一个名称空间;实际上,可以使用任何前缀。

3. Overview
3. 概述

Although WebDAV property types can be anything that can be marshaled as content of an XML element, in many cases they actually are simple types like integers, booleans, or dates. "XML Schema Part 2: Datatypes" [XS2] defines a set of simple types that can be used as a basis for supplying type information to attributes.

尽管WebDAV属性类型可以是任何可以封送为XML元素内容的类型,但在许多情况下,它们实际上是简单的类型,如整数、布尔值或日期。“XML模式第2部分:数据类型”[XS2]定义了一组简单类型,这些类型可以用作向属性提供类型信息的基础。

Datatype information is represented using the attribute "type" from the XML Schema namespace "http://www.w3.org/2001/XMLSchema-instance". In XML Schema, datatypes are qualified names, and the XML Schema recommendation defines a set of built-in datatypes (Section 3 of [XS2]), defined in the namespace "http://www.w3.org/2001/XMLSchema".

数据类型信息使用XML模式名称空间中的属性“type”表示http://www.w3.org/2001/XMLSchema-instance". 在XML模式中,数据类型是限定名称,XML模式建议定义了一组内置数据类型(见[XS2]第3节),在名称空间中定义”http://www.w3.org/2001/XMLSchema".

To avoid unnecessary verbosity, datatype information should only be supplied if it adds usable information to the protocol. In particular, type information is not required for live properties defined in WebDAV [RFC2518] and for properties of type "xs:string".

为了避免不必要的冗长,只有在向协议添加可用信息时,才应提供数据类型信息。特别是,WebDAV[RFC2518]中定义的活动属性和“xs:string”类型的属性不需要类型信息。

A server may implement any combination of datatypes, both from the XML Schema recommendation and possibly from other namespaces.

服务器可以实现数据类型的任意组合,既可以来自XML模式建议,也可以来自其他名称空间。

Note that a particular property can be typed for a number of reasons:

请注意,可以键入特定属性,原因有很多:

o The property is a live property with server-defined semantics and value space.

o 该属性是一个活动属性,具有服务器定义的语义和值空间。

o The property may have been set using a non-WebDAV protocol that the server understands in addition to WebDAV.

o 该属性可能是使用非WebDAV协议设置的,除WebDAV外,服务器还了解该协议。

o The type may have been specified in an extended PROPPATCH method as defined in Section 4.

o 该类型可能已在第4节中定义的扩展PROPPATCH方法中指定。

4. Changes for PROPPATCH Method
4. PROPPATCH方法的变化

If the property element has an XML attribute named "xsi:type", the server may use this information to select an optimized representation for storing the property value. For instance, by specifying a type as "xs:boolean", the client declares the property value to be of type boolean (as defined in [XS2]). The server may choose any suitable internal format for persisting this property, and in particular is allowed to fail the request if the format given does not fit the format defined for this type.

如果property元素有一个名为“xsi:type”的XML属性,则服务器可以使用此信息选择用于存储属性值的优化表示。例如,通过将类型指定为“xs:boolean”,客户机将属性值声明为boolean类型(如[XS2]中定义的)。服务器可以选择任何合适的内部格式来持久化此属性,特别是如果给定的格式不适合为此类型定义的格式,则允许请求失败。

The server should indicate successful detection and parsing of the typed value by setting the xsi:type attribute on the property element in the response body (this implies that it should return a MULTISTATUS status code and a <multistatus> response body).

服务器应该通过在响应主体中的property元素上设置xsi:type属性来指示类型化值的成功检测和解析(这意味着它应该返回一个MULTISTATUS状态代码和一个<MULTISTATUS>响应主体)。

4.1. Example of Successful PROPPATCH
4.1. 成功的PROPPATCH示例

>>Request

>>请求

   PROPPATCH /bar.html HTTP/1.1
   Host: example.org
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   PROPPATCH /bar.html HTTP/1.1
   Host: example.org
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:propertyupdate xmlns:D="DAV:"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:Z="http://ns.example.org/standards/z39.50">
     <D:set>
       <D:prop>
         <Z:released xsi:type="xs:boolean">false</Z:released>
       </D:prop>
     </D:set>
   </D:propertyupdate>
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:propertyupdate xmlns:D="DAV:"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:Z="http://ns.example.org/standards/z39.50">
     <D:set>
       <D:prop>
         <Z:released xsi:type="xs:boolean">false</Z:released>
       </D:prop>
     </D:set>
   </D:propertyupdate>
        

>>Response

>>回应

   HTTP/1.1 207 Multi-Status
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   HTTP/1.1 207 Multi-Status
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:multistatus xmlns:D="DAV:"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:Z="http://ns.example.org/standards/z39.50">
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:multistatus xmlns:D="DAV:"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:Z="http://ns.example.org/standards/z39.50">
        
     <D:response>
       <D:href>http://example.org/bar.html</D:href>
       <D:propstat>
         <D:prop><Z:released xsi:type="xs:boolean" /></D:prop>
         <D:status>HTTP/1.1 200 OK</D:status>
       </D:propstat>
     </D:response>
   </D:multistatus>
        
     <D:response>
       <D:href>http://example.org/bar.html</D:href>
       <D:propstat>
         <D:prop><Z:released xsi:type="xs:boolean" /></D:prop>
         <D:status>HTTP/1.1 200 OK</D:status>
       </D:propstat>
     </D:response>
   </D:multistatus>
        

In this case, the xsi:type attribute on the element "Z:released" indicates that the server indeed has understood the submitted data type information.

在本例中,元素“Z:released”上的xsi:type属性表示服务器确实已经理解了提交的数据类型信息。

4.2. Example of Failed PROPPATCH
4.2. 失败的PROPPATCH示例

>>Request

>>请求

   PROPPATCH /bar.html HTTP/1.1
   Host: example.org
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   PROPPATCH /bar.html HTTP/1.1
   Host: example.org
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:propertyupdate xmlns:D="DAV:"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:Z="http://ns.example.org/standards/z39.50">
     <D:set>
       <D:prop>
         <Z:released xsi:type="xs:boolean">t</Z:released>
       </D:prop>
     </D:set>
   </D:propertyupdate>
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:propertyupdate xmlns:D="DAV:"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xs="http://www.w3.org/2001/XMLSchema"
      xmlns:Z="http://ns.example.org/standards/z39.50">
     <D:set>
       <D:prop>
         <Z:released xsi:type="xs:boolean">t</Z:released>
       </D:prop>
     </D:set>
   </D:propertyupdate>
        

>>Response

>>回应

   HTTP/1.1 207 Multi-Status
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   HTTP/1.1 207 Multi-Status
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:multistatus xmlns:D="DAV:"
      xmlns:Z="http://ns.example.org/standards/z39.50">
     <D:response>
       <D:href>http://example.org/bar.html</D:href>
       <D:propstat>
         <D:prop><Z:released/></D:prop>
         <D:status>HTTP/1.1 422 Unprocessable Entity</D:status>
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:multistatus xmlns:D="DAV:"
      xmlns:Z="http://ns.example.org/standards/z39.50">
     <D:response>
       <D:href>http://example.org/bar.html</D:href>
       <D:propstat>
         <D:prop><Z:released/></D:prop>
         <D:status>HTTP/1.1 422 Unprocessable Entity</D:status>
        
         <D:responsedescription>
           Does not parse as xs:boolean
         </D:responsedescription>
       </D:propstat>
     </D:response>
   </D:multistatus>
        
         <D:responsedescription>
           Does not parse as xs:boolean
         </D:responsedescription>
       </D:propstat>
     </D:response>
   </D:multistatus>
        

In this case, the request failed because the supplied value "t" is not a valid representation for a boolean value.

在这种情况下,请求失败,因为提供的值“t”不是布尔值的有效表示形式。

Note that similar error conditions can occur in the standard WebDAV protocol even though no datatype was specified: for instance, when a client tries to set a live property for which only a certain value space is allowed.

请注意,即使未指定数据类型,标准WebDAV协议中也可能出现类似的错误情况:例如,当客户端尝试设置仅允许特定值空间的活动属性时。

4.3. Example of Successful PROPPATCH Where Type Information Was Not Preserved

4.3. 未保留类型信息的成功PROPPATCH示例

>>Request

>>请求

   PROPPATCH /bar.html HTTP/1.1
   Host: example.org
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   PROPPATCH /bar.html HTTP/1.1
   Host: example.org
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:propertyupdate xmlns:D="DAV:"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:Z="http://ns.example.org/standards/z39.50">
     <D:set>
       <D:prop>
         <Z:released xsi:type="Z:custom">t</Z:released>
       </D:prop>
     </D:set>
   </D:propertyupdate>
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:propertyupdate xmlns:D="DAV:"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:Z="http://ns.example.org/standards/z39.50">
     <D:set>
       <D:prop>
         <Z:released xsi:type="Z:custom">t</Z:released>
       </D:prop>
     </D:set>
   </D:propertyupdate>
        

>>Response

>>回应

   HTTP/1.1 207 Multi-Status
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   HTTP/1.1 207 Multi-Status
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:multistatus xmlns:D="DAV:"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:Z="http://ns.example.org/standards/z39.50">
     <D:response>
       <D:href>http://example.org/bar.html</D:href>
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:multistatus xmlns:D="DAV:"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:Z="http://ns.example.org/standards/z39.50">
     <D:response>
       <D:href>http://example.org/bar.html</D:href>
        
       <D:propstat>
         <D:prop><Z:released/></D:prop>
         <D:status>HTTP/1.1 200 OK</D:status>
       </D:propstat>
     </D:response>
   </D:multistatus>
        
       <D:propstat>
         <D:prop><Z:released/></D:prop>
         <D:status>HTTP/1.1 200 OK</D:status>
       </D:propstat>
     </D:response>
   </D:multistatus>
        

In this case, the request succeeded, but the server did not know how to handle the datatype "Z:custom". Therefore, no datatype information was returned in the response body.

在本例中,请求成功,但服务器不知道如何处理数据类型“Z:custom”。因此,响应正文中没有返回任何数据类型信息。

5. Changes for PROPFIND Method
5. PROPFIND方法的更改

PROPFIND is extended to return the datatype information for properties by adding "xsi:type" attributes to the property elements unless one of the following conditions is met:

PROPFIND扩展为通过向属性元素添加“xsi:type”属性来返回属性的数据类型信息,除非满足以下条件之一:

o The datatype MUST be different from "xs:string" (because this can be considered the default datatype).

o 数据类型必须不同于“xs:string”(因为这可以被视为默认数据类型)。

o The property's datatype MUST NOT be defined in [RFC2518] (because these types are already well-defined).

o 属性的数据类型不能在[RFC2518]中定义(因为这些类型已经定义良好)。

5.1. Example of PROPFIND/prop
5.1. PROPFIND/prop示例

>>Request

>>请求

   PROPFIND /bar.html HTTP/1.1
   Host: example.org
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   PROPFIND /bar.html HTTP/1.1
   Host: example.org
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:propfind xmlns:D="DAV:"
     xmlns:Z="http://ns.example.org/standards/z39.50">
     <D:prop>
       <D:getcontenttype/>
       <Z:released/>
     </D:prop>
   </D:propfind>
        
   <?xml version="1.0" encoding="utf-8" ?>
   <D:propfind xmlns:D="DAV:"
     xmlns:Z="http://ns.example.org/standards/z39.50">
     <D:prop>
       <D:getcontenttype/>
       <Z:released/>
     </D:prop>
   </D:propfind>
        

>>Response

>>回应

   HTTP/1.1 207 Multi-Status
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   HTTP/1.1 207 Multi-Status
   Content-Type: text/xml; charset="utf-8"
   Content-Length: xxxx
        
   <?xml version="1.0" encoding="utf-8" ?>
        
   <?xml version="1.0" encoding="utf-8" ?>
        
   <D:multistatus xmlns:D="DAV:"
      xmlns:Z="http://ns.example.org/standards/z39.50"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xs="http://www.w3.org/2001/XMLSchema">
     <D:response>
       <D:href>http://example.org/bar.html</D:href>
       <D:propstat>
         <D:prop>
           <D:getcontenttype>text/html</D:getcontenttype>
           <Z:released xsi:type="xs:boolean">1</Z:released>
         </D:prop>
         <D:status>HTTP/1.1 200 OK</D:status>
       </D:propstat>
     </D:response>
   </D:multistatus>
        
   <D:multistatus xmlns:D="DAV:"
      xmlns:Z="http://ns.example.org/standards/z39.50"
      xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      xmlns:xs="http://www.w3.org/2001/XMLSchema">
     <D:response>
       <D:href>http://example.org/bar.html</D:href>
       <D:propstat>
         <D:prop>
           <D:getcontenttype>text/html</D:getcontenttype>
           <Z:released xsi:type="xs:boolean">1</Z:released>
         </D:prop>
         <D:status>HTTP/1.1 200 OK</D:status>
       </D:propstat>
     </D:response>
   </D:multistatus>
        

This example shows that the property value "true" is returned with the correct datatype information and that the server chose one of the two possible representations defined in XML Schema. It also shows that datatype information is not returned for "D:getcontenttype", as this property's datatype is already defined in [RFC2518].

此示例显示返回的属性值“true”包含正确的数据类型信息,并且服务器选择了XML模式中定义的两种可能表示形式之一。它还显示没有为“D:getcontenttype”返回数据类型信息,因为该属性的数据类型已在[RFC2518]中定义。

6. Changes for Other Methods
6. 对其他方法的修改

Servers that support other methods using the DAV:multistatus response format (such as the REPORT method defined in [RFC3253], Section 3.6) SHOULD apply the same extensions as defined in Section 5.

Servers that support other methods using the DAV:multistatus response format (such as the REPORT method defined in [RFC3253], Section 3.6) SHOULD apply the same extensions as defined in Section 5.translate error, please retry

7. Compatibility Considerations
7. 兼容性考虑

This part of this specification does not introduce any new protocol elements, nor does it change the informal WebDAV DTD. It merely specifies additional server semantics for the case where clients submit additional datatype information in an attribute on the property element (previously undefined), and adds an additional attribute on property elements upon PROPFIND.

本规范的这一部分没有引入任何新的协议元素,也没有更改非正式的WebDAV DTD。对于客户端在属性元素(以前未定义)的属性中提交额外的数据类型信息的情况,它仅指定额外的服务器语义,并在PROPFIND时在属性元素中添加额外的属性。

Clients not aware of datatype handling should not supply the "xsi: type" attribute on property elements (after all, this attribute belongs to the XML Schema-Instance namespace, which has been defined for exactly this purpose; see [XS1], Section 2.6.1). Old clients should also ignore additional attributes on property elements returned by PROPFIND (and similar methods), although the WebDAV specification only defines this behaviour for unknown elements and is silent about unknown attributes (see [RFC2518], Section 23.3.2.2).

不知道数据类型处理的客户端不应该在属性元素上提供“xsi:type”属性(毕竟,该属性属于XML模式实例命名空间,该命名空间正是为此目的定义的;请参见[XS1],第2.6.1节)。旧客户机还应忽略PROPFIND(和类似方法)返回的属性元素上的其他属性,尽管WebDAV规范仅为未知元素定义此行为,并且对未知属性保持沉默(请参见[RFC2518],第23.3.2.2节)。

Servers not aware of datatype handling either drop the "xsi:type" attribute or have it persist along with the property value (see

不知道数据类型处理的服务器要么删除“xsi:type”属性,要么将其与属性值一起保留(请参见

[RFC2518], Section 4.4). However, they will never indicate successful parsing of the datatype by returning back the type in the response to PROPPATCH. Thus, clients can supply type information without having to poll for server support in advance.

[RFC2518],第4.4节)。但是,它们永远不会通过在对PROPPATCH的响应中返回数据类型来指示数据类型的成功解析。因此,客户端可以提供类型信息,而无需事先轮询服务器支持。

8. Internationalization Considerations
8. 国际化考虑

This proposal builds on [RFC2518] and inherits its internationalizability.

该提案建立在[RFC2518]的基础上,并继承了其国际化能力。

9. Security Considerations
9. 安全考虑

This protocol extension does not introduce any new security implications beyond those documented for the base protocol (see [RFC2518], Section 17).

除了为基本协议记录的安全含义外,该协议扩展不会引入任何新的安全含义(参见[RFC2518],第17节)。

10. Acknowledgements
10. 致谢

This document has benefited from thoughtful discussion by Lisa Dusseault, Stefan Eissing, Eric Sedlar, and Kevin Wiggen.

本文件得益于Lisa Dusseault、Stefan Eissing、Eric Sedlar和Kevin Wiggen的深思熟虑的讨论。

11. References
11. 工具书类
11.1. Normative References
11.1. 规范性引用文件

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。

[RFC2518] Goland, Y., Whitehead, E., Faizi, A., Carter, S., and D. Jensen, "HTTP Extensions for Distributed Authoring -- WEBDAV", RFC 2518, February 1999.

[RFC2518]Goland,Y.,Whitehead,E.,Faizi,A.,Carter,S.,和D.Jensen,“分布式创作的HTTP扩展——WEBDAV”,RFC25181999年2月。

[XS1] Thompson, H., Beech, D., Maloney, M., Mendelsohn, N., and World Wide Web Consortium, "XML Schema Part 1: Structures Second Edition", W3C REC-xmlschema-1-20041028, October 2004, <http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/>.

[XS1]Thompson,H.,Beech,D.,Maloney,M.,Mendelsohn,N.,和万维网联盟,“XML模式第1部分:结构第二版”,W3C REC-xmlschema-1-20041028,2004年10月<http://www.w3.org/TR/2004/REC-xmlschema-1-20041028/>.

[XS2] Biron, P., Malhotra, A., and World Wide Web Consortium, "XML Schema Part 2: Datatypes Second Edition", W3C REC-xmlschema-2-20041028, October 2004, <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/>.

[XS2]Biron,P.,Malhotra,A.,和万维网联盟,“XML模式第2部分:数据类型第二版”,W3C REC-xmlschema-2-20041028,2004年10月<http://www.w3.org/TR/2004/REC-xmlschema-2-20041028/>.

11.2. Informative References
11.2. 资料性引用

[RFC3253] Clemm, G., Amsden, J., Ellison, T., Kaler, C., and J. Whitehead, "Versioning Extensions to WebDAV", RFC 3253, March 2002.

[RFC3253]Clemm,G.,Amsden,J.,Ellison,T.,Kaler,C.,和J.Whitehead,“WebDAV的版本控制扩展”,RFC 3253,2002年3月。

Author's Address

作者地址

Julian F. Reschke greenbytes GmbH Hafenweg 16 Muenster, NW 48155 Germany

Julian F.Reschke greenbytes GmbH Hafenweg 16 Muenster,西北48155德国

   Phone: +49 251 2807760
   Fax:   +49 251 2807761
   EMail: julian.reschke@greenbytes.de
   URI:   http://greenbytes.de/tech/webdav/
        
   Phone: +49 251 2807760
   Fax:   +49 251 2807761
   EMail: julian.reschke@greenbytes.de
   URI:   http://greenbytes.de/tech/webdav/
        

Full Copyright Statement

完整版权声明

Copyright (C) The Internet Society (2005).

版权所有(C)互联网协会(2005年)。

This document is subject to the rights, licenses and restrictions contained in BCP 78 and at www.rfc-editor.org/copyright.html, and except as set forth therein, the authors retain all their rights.

本文件受BCP 78和www.rfc-editor.org/copyright.html中包含的权利、许可和限制的约束,除其中规定外,作者保留其所有权利。

This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

本文件及其包含的信息是按“原样”提供的,贡献者、他/她所代表或赞助的组织(如有)、互联网协会和互联网工程任务组不承担任何明示或暗示的担保,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。

Intellectual Property

知识产权

The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.

IETF对可能声称与本文件所述技术的实施或使用有关的任何知识产权或其他权利的有效性或范围,或此类权利下的任何许可可能或可能不可用的程度,不采取任何立场;它也不表示它已作出任何独立努力来确定任何此类权利。有关RFC文件中权利的程序信息,请参见BCP 78和BCP 79。

Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.

向IETF秘书处披露的知识产权副本和任何许可证保证,或本规范实施者或用户试图获得使用此类专有权利的一般许可证或许可的结果,可从IETF在线知识产权存储库获取,网址为http://www.ietf.org/ipr.

The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf-ipr@ietf.org.

IETF邀请任何相关方提请其注意任何版权、专利或专利申请,或其他可能涵盖实施本标准所需技术的专有权利。请将信息发送至IETF的IETF-ipr@ietf.org.

Acknowledgement

确认

Funding for the RFC Editor function is currently provided by the Internet Society.

RFC编辑功能的资金目前由互联网协会提供。