- From: Julian Reschke <julian.reschke@gmx.de>
- Date: Mon, 20 Sep 2010 17:35:32 +0200
- To: w3c-dist-auth@w3.org
On 08.09.2010 17:17, Julian Reschke wrote: > ... >> 1.3 Identification: WebDAV: the name of a resource within a collection >> is a >> unique identifier. JCR: same (except that for same-name-siblings, the >> array >> index may change when siblings are removed/inserted). > > -> WebDAV model (where index notation would be used if we want same-name > siblings) > ... >> 2.3 Naming: namespace name + local name (WebDAV, JCR) > > This will require some work; expanded names may be a bit heavy-weight; > more feedback appreciated. > ... Related to naming of resources and properties we *also* have to think about whether they should share the same space of names. In WebDAV, properties are not exposed as HTTP resources (*), instead the special HTTP method PROPFIND is used. Thus, collisions between properties and children of a resource are no concern: a folder could have both a child resource "foobar" and a property "foobar". (*) Yes, that's one of the big issues with the WebDAV approach; but maybe we can fix this by exposing WebDAV properties over HTTP GET in the future. In JCR, the same space of names is used for resources and properties, thus once the name of a child resource and a property collide, it depends on the type of API which one you'll get. This is something we need to avoid. [[ Note: XPath uses a path-like syntax to address both elements and attributes, but easily works around this because @ is not valid in element names; similarly, it takes advantage of other reserved characters such as "(" and ")" to disambiguate between function and element names ]] In David's JSOP slides, we see examples similar to: var collection1 = { "createdby" : "user1", "child1" : { "createdby" : "user2" }, "child2" : { "createdby" : "user3" } }; That has the same problem as JCR; member names and property names can collide. I think we'll need to disambiguate by introducing intermediary objects such as "props" and "members", or even model the collection containment using a reserved property name. Best regards, Julian
Received on Monday, 20 September 2010 15:36:08 UTC