Mapping DAV link properties to HTML/Atom/Http link relations


some while ago, the Atom feed format has introduced link relations that 
either can use a short name (through an IANA registry), or a full URI as 
generalizes this concept, introducing a single registry for both (X)HTML 
and Atom link relations, and also re-introduces the HTTP Link header 
(defined in RFC 2068, but dropped from RFC 2616).

In WebDAV, we already have properties of type link implicitly (by 
containing DAV:href elements). So, for instance, the DAV:checked-in 
property defined in 
<>, could 
be interpreted to also define a link relation identified by the URI 

Potential benefits:

1) Use in HTTP Link Header

A server could expose the property value in an HTTP response header, 
independently of WebDAV:

HEAD /foobar HTTP/1.1

HTTP/1.1 200 OK
Content-Type: text/plain
Link: </versions/foobar/1>; rel="DAV:checked-in"

2) Response bodies of WebDAV requests that affect the set of links could 
be made more useful, such as in:


HTTP/1.1 201 OK
Content-Type: application/xml+xhtml
Content-Length: xxx

<html xmlns="">
     <title>Resource put under Version Control</title>
       The resource has been put under version control; the
       version history is located at <a rel="DAV:version-history" 
href="/histories/123">/histories/123</a>, and the initial version is <a 
rel=DAV:checked-in" href="/versions/456">/versions/456</a>.

Open issue: WebDAV uses QNames to identify properties, and they do not 
always map well to absolute URIs -- the simplest approach to address 
this is by choosing namespace URIs wisely...

Feedback appreciated,


Received on Monday, 10 November 2008 13:15:36 UTC