These provide a mechanism for explicitly reading values within a path. They differ from Indexes in being expressed numerically:
An explicit offset --
statement[2].nameAn index --
Relationship[idx].Attribute
Explicit offsets, which should only be used when attempting to read a value, are very simple. For example:
statement[2].name
means take the second item in the path called
statement (where
statement is an
aggregate). If statement
does not contain two items it won't return anything.
Explicit offsets may be used in succession. For example:
statement[2].part[4].item
takes the second statement, looks for the fourth part and then returns the item.
It is permissible to end a line with an explicit offset. For example:
aItem := statement[2];
This, however, has the same effect as:
aItem := statement.$getIntance2;
Notes: