首页 > 解决方案 > 访问属性模板构造参数的描述属性

问题描述

我想使用参数化模板构造来访问 Property 对象的属性以在 Word 文档中生成一些输出。当我将模板与一些基本类型(例如整数或字符串)一起使用时,它可以正常工作,但是当我尝试使用属性对象时,我只能访问“名称”属性而不能访问例如描述属性。使用单元测试 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 子类,但我没有找到正确的类。有什么建议么?

亲切的问候

基督教

标签: m2doc

解决方案


是的,您需要将参数元素的类型更改为拥有描述功能的对象的类型。您还需要导入包含 EClass 的 EPackage。

例如,如果我想使用 Capella 对象的描述:

{ m:template mytest(element : capellacore::CapellaElement) }
{ m: element.description }
{ m:endtemplate }

然后导入以下nsURI(可能会根据Capella的版本有所变化):

http://www.polarsys.org/capella/core/core/1.4.0

使用模板属性向导


推荐阅读