我想使用参数化的模板构造来访问Property对象的属性以在Word文档中生成一些输出。当我将模板与一些基本类型(例如Integer或String)一起使用时,它可以正常工作,但是当我尝试使用Property对象时,我只能访问“ name”属性,而不能访问例如描述属性。以单元测试recursiveEObject-template作为起点,我的模板如下所示:
{ m:template mytest(element : ecore::ENamedElement) }
{ m: element.description }
{ m:endtemplate }
我收到以下错误消息:
{ m:element. <---Feature description not found in EClass ENamedElement description }
我认为参数的类型是错误的,我需要对其进行更改或将其强制转换为ENamedElement的某些派生的Property子类,但找不到正确的类。有什么建议吗?
亲切的问候
基督徒
答案 0 :(得分:0)
是的,您需要将parameter元素的类型更改为具有描述功能的对象的类型。您还需要导入包含EClass的EPackage。
例如,如果我想使用Capella对象的描述:
{ m:template mytest(element : capellacore::CapellaElement) }
{ m: element.description }
{ m:endtemplate }
然后导入以下nsURI(可能会根据Capella的版本而更改):