我正在用Javascript在Enterprise Architect 16.1.1622中编写批量编辑脚本。它应该允许用户从所有选定元素的所有公共属性中选择属性。对于每一个选择的属性,我想列出所有可能的预定义值(如果可用)。
这对于Repository.GetReferenceList和Repository.PropertyTypes(通过DetailValue =...)很有效,但是我不能从自定义视图中找到原型的继承属性的预定义值。
我们有一个公司简介(抱歉不太确定正确的术语)包括通过MDG技术。中定义了几种类型。如果我现在将默认操作的原型设置为这个概要文件的类型,那么我的操作将继承该类型的特定属性。假设我们有一个名为“Color”的属性,其预定义值为“red”,“绿色”和“blue”,该属性在公司配置文件中定义并由操作继承。
我现在可以根据GUI中预定义的值更改此操作的此属性。我还可以通过编程方式读取和写入此属性。但是我不能通过编程获得这些预定义值的列表。
这个列表就是我正在寻找的。
1条答案
按热度按时间svdrlsy41#
这些属性的预定义值(AKA标记值)存储在包含在MDG文件中的UML概要文件中。
MDG文件是一个XML,属性可能如下所示:
因此,为了知道标记值可以具有哪些值,您必须解析MDG文件。
其中一个问题是EA可以用不同的方式加载MDG文件
因此,您基本上需要复制EA加载MDG文件的方式。如果只是为了你公司的千年发展目标,你可以同意把它放在一个固定的位置,这样你就可以阅读。
如果你想做一个通用的加载项/脚本,那么恐怕你运气不好。