Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/355.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 你怎么样';ea#U本地化';企业架构师API中分布的值?_Python_Xml_Enterprise Architect - Fatal编程技术网

Python 你怎么样';ea#U本地化';企业架构师API中分布的值?

Python 你怎么样';ea#U本地化';企业架构师API中分布的值?,python,xml,enterprise-architect,Python,Xml,Enterprise Architect,在使用EnterpriseArchitectAPI时,我注意到当您将EA项目导出到XMI时,几种不同类型的元素都会得到一个名为EA\u localid的属性。这意味着您将在XMI中找到一个标记,该标记的属性为ea\u localid。该属性似乎用于引用连接元素的源和目标(至少对于“转换”是有效的,因为我们正在使用状态机图) 到目前为止,一切顺利。现在,我的预期用途的问题是,每次导入和导出时,这些值似乎都是新分发的。编辑:我不太清楚这个过程的确切时间。编辑#2这似乎发生在导入时 这意味着在导出项目

在使用EnterpriseArchitectAPI时,我注意到当您将EA项目导出到XMI时,几种不同类型的元素都会得到一个名为
EA\u localid
的属性。这意味着您将在XMI中找到一个标记,该标记的属性为
ea\u localid
。该属性似乎用于引用连接元素的源和目标(至少对于“转换”是有效的,因为我们正在使用状态机图)

到目前为止,一切顺利。现在,我的预期用途的问题是,每次导入和导出时,这些值似乎都是新分发的。编辑:我不太清楚这个过程的确切时间。编辑#2这似乎发生在导入时

这意味着在导出项目后,重新导入它,不做任何更改,然后再次导出它,将为生成的XMI文档提供一组不同的
eau localid
值。此外,似乎以前属于一个元素的一些值现在可以用于完全不同的元素

有人知道分配机制吗?或者,更好的办法是模仿它?还是重置所有计数器的方法

就我所见,通常似乎有不同的元素类,在这些类中,下一个元素的新
ea_localid
是通过计数+1生成的。第一个值为1,下一个值为2,依此类推


我的目标是进行“往返”(XMI-->项目-->XMI…),并始终获得相同的
ea_localid
值,可能是在导出后编辑XMI文档。如有任何帮助或建议,将不胜感激。Cheers

ea_localid表示元素的
elementID
(或属性的
AttributeID

在EA中,每个“东西”都有两个ID。数字标识和GUID

在大多数关系中,数字ID(例如t_object.object_ID)用作键,但这并不稳定

导入XMI文件之类的操作可以重置数字ID。这就解释了
eau localID
发生变化的原因

如果要查找稳定的ID,则应使用GUID。即使在导出和导入到其他模型后,此模型也保证保持不变。(只要在导入时不设置标志
Strip guid

在xmi文件中,您将在属性
xmi.id
e、 g



此值对应于每个表中的
ea\u guid
列。

因此,经过一些测试,我发现,对于上述执行往返(xmi-->导入到ea-->xmi)并始终获得完全相同文档的目标,最简单的解决方案是

在xmi上运行一个过滤器,只删除包含
ea_localid
ea_sourceID
(原文如此!)和
ea_targetID
值的所有节点

在重新导入时,EA将只为它们分配新值。有关“转换”的源和目标以及其他连接元素的信息也与GUID一起存储,因此不会丢失信息

<UML:Class name="Aannemer" xmi.id="EAID_04A526DF_7F07_4475_8E65_16D2D88CEECD" visibility="public" namespace="EAPK_0345C8A9_9E8F_42c5_9931_CB842233B11B" isRoot="false" isLeaf="false" isAbstract="false" isActive="false">