Structured Resources

Documents have structure and it would seem a good thing for DAV to
expose this structure and make it available for manipulation. As such I
propose a new Method, STRUCTURE. When executed on a resource this method
will return a description of the structure of the document.

I recommend that the structure of a resource be expressed as a list of
URIs, some relative, some not, along with associated meta-data. The
STRUCTURE method returns this list.

One method for adding to the structure of a document is to PUT a new
resource, where the request-URI has the same base as the structure
resource. Thus if the structured resource is http://foo then
http://foo/bar specifies a member of foo's structure.

In addition if the resource only has a single entry then either an empty
STRUCTURE may be returned or a structure with one entry whose URI equals
the Request-URI. Clients should be aware of the possibilities of a loop.

There are times when it would be useful to be able to group together
URIs who are independent of the structured resource's URI. A classic
example is a linked (using the file system definition) file in a
directory. As such I propose the new link type "ResourceLink". The
source of this link type is always the request-URI of the collection and
the destination is the URI to be included in the structure. When such a
link is defined, its value should be returned as part of the result from
a STRUCTURE method.

I also propose that the structured resource mechanism be used to
implement collections and that the AddResource and RemoveResource
methods should be stricken from the spec. The STRUCTURE method will then
provide the BROWSE method functionality that a number of members of the
group have asked for.

	I look forward to the group's comments,
		Yaron

Received on Monday, 17 March 1997 20:54:59 UTC