別のテンプレートを呼び出した結果をパラメーターとして渡して、テンプレートを呼び出そうとしていますが、それを機能させることができないようです。絞り込みの例を次に示します。
ファイル内の次のテンプレートグループ:
echo(foo) ::="<foo>"
boo() ::= << <echo("zoo")> >>
次のJavaコードで呼び出された場合:
STGroup stg = new STGroupFile("thefile.stg");
ST boo = stg.getInstanceOf("boo");
System.out.println(boo.render());
期待どおりに動物園を作成します。
ただし、「zoo」リテラルを同じものを返すテンプレートに置き換えようとすると、STは解析中に次のように文句を言います。
動作しません:
echo(foo) ::="<foo>"
zoo() ::= "zoo"
boo() ::= << <echo( <zoo()> )> >>