2

テキスト生成(Java言語用)のために、私はecoreファイルと.mtlモジュールを使用ています

私のアプリケーションでは注釈が必要なので、ecore モデルで注釈を宣言しました。しかし、問題は、MTL ファイルの注釈の詳細 (キー、値) で条件を確認できないことです。

.mtl ファイルの私の条件は

[if(r.getEAnnotation('sourcename').details.key.equalsIgnoreCase('keyname'))] [/if]

しかし、ここでは条件式が if ブロックで受け入れられず、let ブロックでも受け入れられません。

注釈ソースの詳細 (キー、値) の値を出力できます。また、条件の true または flase 値を出力することもできます。

誰かがこの問題の解決策を知っている場合は、私を再生してください

4

1 に答える 1

2

この式r.getEAnnotation('sourcename').detailsはコレクションを返すため、「if」の条件はブール値ではなくブール値のコレクションです。次のように変更できます。

[if(r.getEAnnotation('sourcename').details->first().key.equalsIgnoreCase('keyname'))] [/if]

また

[if(r.getEAnnotation('sourcename').details->collect(key.equalsIgnoreCase('keyname'))->size() > 0)] 

[/if]
于 2011-04-21T13:49:50.750 に答える