<prop1.subprop1:sometemplate>
プロパティのプロパティのリストにテンプレートを適用するために書きたいと思っています。これを行うには、2 つのレベルのテンプレートを作成する必要があります。prop1 で外側のテンプレートを呼び出してから、次のプロパティを処理する必要があります。
データ・モデル:
class Clazz {
String name;
Class parent;
}
ゴール:
class(c) ::= <<
<c.parent.name> <! oops, not allowed !>
>>
だから私はで終わる
<c.parent:{ p | <p.name> }>
これは少し不器用です。
それから私はこれに行きました:
class Attr {
List<String> requiredParameters;
Attr baseObject;
}
そして、私は生成したい:
def __init__(self, reqparam1, ... rewqparamN)
ここで、最初の「reqparam」は最も深い項目からのものです。次のように記述しようとしましたが、再帰的にリストを作成しようとした 2 番目のテンプレートで、ST によって構文エラーが発生します。
self_and_list(list) ::= << self<if(first(list))>, <endif><list;separator=", "> >>
recurse_req(attr) ::= "<[<attr.baseObject:recurse_req()>, <attr.requiredParameters>]>"
self_and_req_params(attribute) ::= "<self_and_list(<attribute:recurse_req()>)>"