- From: Clemm, Geoff <gclemm@rational.com>
- Date: Thu, 13 Dec 2001 02:29:04 -0500
- To: w3c-dist-auth@w3.org
From: Peter Raymond [mailto:Peter.Raymond@merant.com] In my earlier e-mail I mentioned that I was unsure about the contents of the DAV:bindings property. Here is some more detail about why I think it is unclear, also find attached some PowerPoint slides which I used to try to understand the bindings property. I guess there are two things in the text that mislead me: 1) Section 13.1 says that the property "contains a complete list of all bindings to that resource", but also says it is necessary to select one URI mapping for a collection. It seems to contradict itself, it is not complete because it only contains one URI mapping for a collection. A binding is an named association between a collection and a resource, where the "name" is a URI segement. You perhaps are confusing a "binding" with a "mapping" (where a "mapping" is an association between a URL and a resource). 2) It also says you should preferably use the mapping in the request-URI of the BIND request. But I am unclear as to which BIND request. The BIND request that created the binding named "bar" from C1 to R2. It is a PROPFIND request which was issued to find the DAV:bindings property, not a BIND request. Yes, but that is not relevant for naming all the bindings (since the collections containing the bindings are in general unrelated to the request-URL of the PROPFIND request). Perhaps it means the last BIND request for that collection or perhaps it means the first bind request for the resource in the collection? No, the BIND request that created the binding that is being identified. So using the example in Figure 1 of the bindings document you have the URI paths: /coll1/bar /coll2/bar /coll3/foo /coll1/ and /coll2/ are the same collection resource but all these URIs point to the same resource (R2). OK. Imagine you make a PROPFIND request on /coll2/bar, asking for the DAV:bindings property...should you get: <bindings> <href>/coll1/</href> <segment>bar</segment> <href>/coll2/</href> <segment>bar</segment> <href>/coll3/</href> <segment>foo</segment> </bindings> That is a "complete" list of all bindings for resource R2... /coll1/bar and /coll2/bar both identify the same binding (from C1 to R2), so you shouldn't have both in the dav:bindings list. BUT section 13.1 says you should pick only one URI for a given collection, so perhaps it should return: <bindings> <href>/coll2/</href> <segment>bar</segment> <href>/coll3/</href> <segment>foo</segment> </bindings> Because /coll1/ and /coll2/ are the same collection I have picked just one URI mapping for that collection... Yes. in this case I used the URI mapping from the PROPFIND request. The URI mapping from the PROPFIND request is not relevant. What is relevant is whether the binding was created by BIND /coll3/foo Destination: http://host.com/coll1/bar or BIND /coll3/foo Destination: http://host.com/coll2/bar In the first case, http://host.com/coll1/bar should be in the DAV:bindings property for R2, while in the second case, http://host.com/coll2/bar should be in the DAV:bindings property for R2. Cheers, Geoff
Received on Thursday, 13 December 2001 02:29:44 UTC