Modisco KDM メタモデルに基づく EMF モデルを使用しています。Acceleo テンプレートのある時点で、コレクションを反復処理する必要があります。たとえば、次のようになります。
[for (e: AbstractCodeElement | action.codeElement) セパレーター(', ')][e.generateCode() /]
action.codeElement はコレクションであり、modisco の kdm.ecore メタモデルはそれを順序付けされていないと定義しています。
ジェネレーターを実行するたびに、出力が異なる順序で生成されます。シリアル化されたモデル xmi は特定の順序を明確に強制し、モデルを開くたびにモデル エディター (emf デフォルト エディター、modisco エディター) は常に同じ順序を示します (要素が xmi ファイルにシリアル化された順序と一致します)。
kdm.ecore メタモデルを変更してセットを順序付けることはできないため、Acceleo を常に同じ順序で反復させる回避策はありますか?
前もって感謝します