Elektra
0.8.26
|
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: