Render data which contains values referencing other keys inside data

I have a bit complicated case.

The sample.yaml data file contains the following data. Note that the value of products_recursive must somehow (this or other way) reference and include the value of root.

root: c:/data
products_absolute: c:/data/products.txt
products_recursive: \{{% smpl root %}}/products.txt

The smpl.html shortcode contains:

{{ $arg := .Get 0 }}
{{ index .Site.Data.sample $arg }}

The index.md file contains:

root: {{% smpl root %}}

products_absolute: {{% smpl products_absolute %}}

products_recursive: {{% smpl products_recursive %}}

The output is:

root: c:/data

products_absolute: c:/data/products.txt

products_recursive: {{% smpl root %}}/products.txt

And the question is:

Given the recursive nature of data file, is it possible to write the shortcode in such a way that the third output line will be the same as the second? In other words, the {{% smpl root %}} string inside shortcode will be rendered as a (nested) shortcode instead of just printed literally?

Find another way / refactor.