5.2 A WebDAV-backed Content Repository

Consider a repository with some arbitrary underlying implementation structure (file system, database) but which exposes its content via a WebDAV interface.

In such a case, the implementer might choose to implement this specification not directly on top of the underlying system but on top of the existing WebDAV layer.

The mapping from the exposed WebDAV structure to the repository hierarchy can be done quite directly using a mapping similar to that described above in the file system example.

In addition to this, all supplemental information of a WebDAV resource, such as properties, locking information, etc. can be mapped to repository properties.


/

/newpaintings/

└─newpaintings

bigredstripe.gif

└─bigredstripe.gif

<PROPFIND/newpaintings/bigredstripe.gif>

DAV:displayname

├─myapp:name = "Big Red Stripe"

DAV:creationdate

├─jcr:created = "2001-05-03
│ T00:00:00.000Z"


└─jcr:content

DAV:getlastmodified

├─jcr:lastModified = "2001-05-03
│ T00:00:00.000Z"

DAV:getcontenttype

├─jcr:mimeType = "image/gif"

<GET /newpaintings/bigredstripe.gif>

└─jcr:data = <binary data>


In this example, the file bigredstripe.gif is represented by a subtype of nt:file and the jcr:content subnode is of type nt:resource.