Я пытаюсь вызвать шаблон, передавая в качестве параметра результат вызова другого шаблона, но не могу заставить его работать. Вот узкий пример:
Следующая группа шаблонов в файле:
echo(foo) ::="<foo>"
boo() ::= << <echo("zoo")> >>
При вызове со следующим кодом Java:
STGroup stg = new STGroupFile("thefile.stg");
ST boo = stg.getInstanceOf("boo");
System.out.println(boo.render());
производит zoo как и ожидалось.
Однако, когда я пытаюсь заменить литерал zoo” шаблоном, возвращающим то же самое, ST жалуется во время синтаксического анализа:
не работает:
echo(foo) ::="<foo>"
zoo() ::= "zoo"
boo() ::= << <echo( <zoo()> )> >>