Elektra
0.9.6
|
For this example the following configuration is used:
We mount it by executing:
The file contains a specification, which marks user:/tests/reference/alternative/rootkey/ref
as our root reference key and user:/tests/reference/alternative/otherkey/newref
as an alternative reference.
The actual configuration contains then a structure which is processed by the plugin like follows:
user:/tests/reference/alternative/rootkey/ref
is read and its reference validated.user:/tests/reference/alternative/otherkey/ref
is read and its reference validated.user:/tests/reference/alternative/otherkey/newref
is discovered as an alternative reference and stored for later.user:/tests/reference/alternative/yetanotherkey/ref
is read and its reference validated.user:/tests/reference/alternative/mergekey/ref
is read and its reference validated.user:/tests/reference/alternative/finalkey
does not contain a reference, so we stop here.user:/tests/reference/alternative/otherkey/newref
starts.user:/tests/reference/alternative/otherkey/newref
is read and its reference validated.user:/tests/reference/alternative/otherotherkey/newref
is read and its reference validated.user:/tests/reference/alternative/mergekey/newref
is read and its reference validated.user:/tests/reference/alternative/finalkey
does not contain a reference, so we stop here.The resulting reference graph looks like this:
As you can see, the plugin completely ignores user:/tests/reference/alternative/yetanotherkey/newref
as well as user:/tests/reference/alternative/otherother/ref
and in turn does not throw an error because user:/tests/reference/alternative/nonexistent
does not exist. However, the plugin does still exhaustively check both of the alternative reference chains. If you want to prohibit this, you can set the metakey check/reference/restrict
to an empty value on whichever key you want to be a leaf node in the graph.
After we are done we can unmount the example with: