Re: Structured Resources

I agree that it would be useful to provide some support for structured
documents, and I like the idea of trying to use the same technique for
dealing with structured documents and collections.  There are differences
between structured documents and collections, however, that are worth
keeping in mind.  The most important one for us is that ordering matters in
structured documents, but generally not in collections.

Operations that we would want to be able to perform on structured documents
include:

Write the entire document to the server in one step
Delete the entire document from the server in one step
Move the entire document in one step
Copy the entire document in one step
Insert new content into the document at a certain position in the structure
(for example, insert 5 new pages after page 10)
Delete content from the document
Move content from one location to another in the structure
Copy content from one location to another in the structure
Link content into a document at a certain position in the structure
Delete a link to content
Move a link from one location to another in the structure
Copy a link from one location to another in the structure
Get the entire document in one step
Get any content piece or range of pieces

Whatever approach we take, we need to confirm that all these operations are
possible.  Being able to manage the entire document as a single object is a
difficulty for your approach, I think.  Being able to insert content at a
certain point in the structure is a problem both for you and for the
multipart/related approach.

At 05:54 PM 3/17/97 PST, Yaron Goland wrote:
>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
>
>
>
Name:			Judith A. Slein
E-Mail:			slein@wrc.xerox.com
Internal Phone:  	8*222-5169
External Phone:		(716) 422-5169
Fax:			(716) 265-7133
MailStop:		128-29E

Received on Wednesday, 19 March 1997 09:48:56 UTC