[Docs] [txt|pdf] [Tracker] [WG] [Email] [Nits]
Versions: 00
Network Working Group J. Stracke, eCal Corp.
INTERNET DRAFT
<draft-ietf-webdav-propfind-space-00.txt>
Expires April, 2000 August 10, 1999
WebDAV PROPFIND Extension To List Specified Namespaces
1 Status of this Document
This document is an Internet-Draft and is in full conformance with
all provisions of Section 10 of RFC2026.
Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF), its areas, and its working groups. Note that other
groups may also distribute working documents as Internet-Drafts.
Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as ``work in progress.''
The list of current Internet-Drafts can be accessed at
<http://www.ietf.org/ietf/1id-abstracts.txt>
The list of Internet-Draft Shadow Directories can be accessed at
<http://www.ietf.org/shadow.html>
Distribution of this document is unlimited. Please send comments to
francis@ecal.com or to the w3c-dist-auth@w3.org discussion list.
2 Abstract
This document specifies an extension to the [WEBDAV] PROPFIND method
to permit a WebDAV client to request all properties which belong to a
specified namespace or namespaces.
3 Introduction
This document specifies an extension to the [WEBDAV] PROPFIND method
to permit a WebDAV client to request all properties which belong to a
specified namespace or namespaces.
A WebDAV application using a custom namespace for
application-specific data may occasionally need to use PROPFIND to
list all a resource's properties from that namespace. (Similarly, a
WebDAV client might need to know all DAV: properties, but not care
about non-standard properties.) In such a case, the client must
choose between the <allprop> element, which will retrieve all
properties on the resource, and the <prop> element, which will
retrieve specified properties only. The problem with <allprop> is
that the resource may have many properties from other namespaces, in
which the application is not interested. The problem with <prop> is
that the client may not know all the property names which may be
present (for example, if the client is too general-purpose to permit
it to be configured with the list of property names, or if property
name munging is being used). A third choice would be to use
Stracke [Page 1]
INTERNET-DRAFT WebDAV PROPFIND Namespace List August 10, 1999
<propname> to list all the resource's properties without their
contents, then use <prop> with just the properties in the desired
namespace; the problem with this approach is that it requires an
extra HTTP request.
This document proposes a middle ground, an extension to <allprop> and
<propname> which provides a list of namespaces to search.
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 [MUSTS] .
4 Extension definition
Two new XML elements are proposed, <namespace> and <namespaces>. In
the idiom of [WEBDAV]:
4.1 namespaces XML Element
Name: namespaces
Namespace: DAV:
Purpose: The namespaces XML element specifies that the enclosing
allprop or propname element applies only to properties belonging to
the namespaces listed in the enclosed namespace elements.
4.2 namespace XML Element
Name: namespace
Namespace: DAV:
Purpose: The namespace XML element specifies a namespace in the
namespaces list. <namespace> appears inside <namespaces>, and has a
single attribute, uri, the URI of the namespace.
5 Examples
5.1 Fetching all DAV: properties
Request:
PROPFIND /index.html HTTP/1.1
Host: www.example.com
Content-Length: xxxx
Content-Type: text/xml
<D:propfind xmlns:D="DAV:">
<D:allprop>
<D:namespaces>
<D:namespace uri="DAV:"/>
</D:namespaces>
</D:allprop>
Stracke [Page 2]
INTERNET-DRAFT WebDAV PROPFIND Namespace List August 10, 1999
</D:propfind>
Response:
HTTP/1.1 200 OK
Content-Type: text/xml
Content-Length: xxxx
<D:prop xmlns:D="DAV:">
<D:lockentry>
<D:lockscope><D:exclusive/></D:lockscope>
<D:locktype><D:write/></D:locktype>
</D:lockentry>
<D:lockentry>
<D:lockscope><D:shared/></D:lockscope>
<D:locktype><D:write/></D:locktype>
</D:lockentry>
<D:creationdate>1999-08-11T12:12:12Z</D:creationdate>
<D:displayname>Example.com, The Fictious Site!</D:displayname>
<D:getcontentlength>17</D:getcontentlength>
<D:getcontenttype>text/html</D:getcontenttype>
<D:getetag>xyzzy</D:getetag>
<D:getlastmodified>1999-08-11T12:12:14Z</D:getlastmodified>
<D:resourcetype></D:resourcetype>
</D:supportedlock>
</D:prop>
5.2 Listing names of properties in two namespaces
Request:
PROPFIND /index.html HTTP/1.1
Host: www.example.com
Content-Length: xxxx
Content-Type: text/xml
<D:propfind xmlns:D="DAV:">
<D:propname>
<D:namespaces>
<D:namespace uri="http://foo.example.com"/>
<D:namespace uri="mailto:fred@example.com"/>
</D:namespaces>
</D:propfind>
</D:propname>
Response:
<D:prop xmlns:D="DAV:"
xmlns:F="http://foo.example.com"
Stracke [Page 3]
INTERNET-DRAFT WebDAV PROPFIND Namespace List August 10, 1999
xmlns:M="mailto:fred@example.com">
<F:bar/>
<M:fred/>
</D:prop>
6 Compatibility Considerations
Section 14 of [WEBDAV] specifies:
"All DAV compliant resources MUST ignore any unknown XML
element and all its children encountered while processing a DAV
method that uses XML as its command language."
As a result, a client which uses <D:namespaces> on a server which
does not support it will get the base-level DAV behavior (listing all
properties), exactly as if it had issued a base-level DAV request.
Therefore, a client which sends PROPFIND requests using
<D:namespaces> MUST accept responses which include properties not in
the listed namespace(s).
Of course, it is always risky assuming that all implementations of a
young standard adhere to all points of the standard. In this case,
the risk is mitigated by the fact that section 23.3.2.2 of [WEBDAV]
presents a (hypothetical) similar extension, <E:leave-out>, and
states:
"If the previous example were submitted to a server unfamiliar
with leave-out, the only result would be that the leave-out
element would be ignored and a propname would be executed."
Nevertheless, since there may be some servers which, for whatever
reason, violate this prescription (say, if they attempt to validate
the XML request against the DTD in section 23.2 of [WEBDAV] ), a
client which uses <D:namespaces> SHOULD be aware that it may receive
a 400 Bad Request from such a server, and SHOULD be able to retry the
request without using <D:namespaces>.
7 Internationalization Considerations
This proposal builds on [WEBDAV], and inherits its
internationalizability.
8 IANA Considerations
This proposal does not introduce any new IANA considerations, since
it does not specify any new namespaces (in the general sense), but
merely uses existing ones.
9 Security Considerations
For a server, this proposal does not introduce any new security
considerations over those of [WEBDAV], since the information which is
Stracke [Page 4]
INTERNET-DRAFT WebDAV PROPFIND Namespace List August 10, 1999
exposed is already available. There might be privacy considerations
for a client, since telling the server which namespaces one wishes to
search does reveal some information. Implementors must balance this
concern against the efficiency gains this proposal offers.
10 Copyright
The following copyright notice is copied from RFC 2026 [Bradner,
1996], section 10.4, and describes the applicable copyright for this
document.
Copyright (C) The Internet Society April 5, 1998. All Rights
Reserved.
This document and translations of it may be copied and furnished to
others, and derivative works that comment on or otherwise explain it
or assist in its implementation may be prepared, copied, published
and distributed, in whole or in part, without restriction of any
kind, provided that the above copyright notice and this paragraph are
included on all such copies and derivative works. However, this
document itself may not be modified in any way, such as by removing
the copyright notice or references to the Internet Society or other
Internet organizations, except as needed for the purpose of
developing Internet standards in which case the procedures for
copyrights defined in the Internet Standards process must be
followed, or as required to translate it into languages other than
English.
The limited permissions granted above are perpetual and will not be
revoked by the Internet Society or its successors or assignees.
This document and the information contained herein is provided on an
"AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
TASK FORCE DISCLAIMS 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.
11 Intellectual Property
The following notice is copied from RFC 2026 [Bradner, 1996], section
10.4, and describes the position of the IETF concerning intellectual
property claims made against this document.
The IETF takes no position regarding the validity or scope of any
intellectual property or other rights that might be claimed to
pertain to the implementation or use other technology described in
this document or the extent to which any license under such rights
might or might not be available; neither does it represent that it
has made any effort to identify any such rights. Information on the
IETF's procedures with respect to rights in standards-track and
standards-related documentation can be found in BCP-11. Copies of
claims of rights made available for publication and any assurances of
Stracke [Page 5]
INTERNET-DRAFT WebDAV PROPFIND Namespace List August 10, 1999
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 implementors or users of this specification can
be obtained from the IETF Secretariat.
The IETF invites any interested party to bring to its attention any
copyrights, patents or patent applications, or other proprietary
rights which may cover technology that may be required to practice
this standard. Please address the information to the IETF Executive
Director.
12 Acknowledgements
Some of the PROPFIND syntax in the examples was copied from examples
in [WEBDAV].
13 References
[WEBDAV] Y. Y. Goland, E. J. Whitehead, Jr., A. Faizi, S. R. Carter,
D. Jensen, "Extensions for Distributed Authoring on the World Wide
Web - WebDAV." RFC 2518. Microsoft, U.C. Irvine, Netscape, Novell.
April, 1998.
[MUSTS] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels," BCP 14, RFC 2119, Harvard University, March
1997.
14 Author's Address
J. Stracke
eCal Corp.
234 N. Columbus Blvd., 2nd Floor
francis@ecal.com
Stracke [Page 6]
Html markup produced by rfcmarkup 1.129d, available from
https://tools.ietf.org/tools/rfcmarkup/