TRL is similar to XRL - in that it will evaluate a template, locate inclusion statements and substitute these into a text document. It differs from XRL in that it accepts arbitrary unicode text strings as included resources.
Like XRL it is recursive and substitutions are recursively evaluated. In addition it supports the NetKernel declarative request syntax for specifying resource requests for inclusions.
Being recursive and consisting of requests into the NetKernel ROC space, each substitution is actually a cacheable resource. Therefore TRL is very high-performance in dynamic applications since only the parts of a recursion tree that are not already cached will require computation.