我正在使用基于 Modisco KDM 元模型的 EMF 模型。在我的 Acceleo 模板的某个时刻,我需要遍历一个集合,例如:
[for (e: AbstractCodeElement | action.codeElement) 分隔符(', ')][e.generateCode() /]
action.codeElement 是一个集合,modisco 的 kdm.ecore 元模型将其定义为无序的。
每次我运行生成器时,都会以不同的顺序生成输出。显然,序列化模型 xmi 强制执行特定顺序,并且我打开模型的每个模型编辑器(emf 默认编辑器、modisco 编辑器)始终显示相同的顺序(匹配元素序列化到 xmi 文件的顺序)。
由于我无法更改 kdm.ecore 元模型以使集合有序,是否有一种解决方法可以让 Acceleo 始终以相同的顺序进行迭代?
提前致谢