Id path

Full id looks like atlas://servername.org/id_of_object.attribute.subattribute .

Examples:

Creating

Creating object with
{parents:["create"], objtype:"op", arg:{id:"a", b:{r:2, c:{d:54}}}}
results at object:
{id:"a", b:{r:2, c:{d:54}}}

Refering

When leaving atlas://servername.org out content is accessed following way:
a refers to whole object.
a.b refers to {r:2, c:{d:54}}.
a.b.r refers to number 2.
a.b.c refers to {d:54}.
a.b.c.d refers to number 54.

Id type attributes in one object can refer to anything in any other object, even across servers if supported by server. Also can refer to list elements by using zero based index as 'attribute name'. For example if we have following objects:

{id:"data45", points:[ [x0,y0,z0], [x1,y1,z1], [x2,y2,z2]}
{id:"road45", parents:["road", polyline:["data45.points.1", "atlas://server2.org/78.points.100"]}
then data45.points.1 refers to [x1,y1,z1] element in data45.points object.
atlas://server2.org/78.points.100 refers to point in server2.org. Seems that server2.org is also using integer ids for objects.

Setting

In operation argument if id refers to a sub-attribute, then rest of argument applies to that particular sub-attribute content. For example after applying operation
{parents:["set"], objtype:"op", arg:{id:"a.b", r:42}
to earlier object it looks like object:
{id:"a", b:{r:42, c:{d:54}}}
Example2: after applying
{parents:["set"], objtype:"op", arg:{id:"a", b:{r:42}}
operation object looks like
{id:"a", b:{r:42}}

Deleting

Delete operation deletes given object or sub-attribute given in id -attribute. For example after
{parents:["delete"], objtype:"op", arg:{id:"a.b.r"}}
operation object looks like
{id:"a", b:{c:{}}}

Aloril
Last modified: Fri Feb 8 08:50:54 EET 2002