我有一些来自不同 UML 建模工具(Visual Paradigm、PowerDesigner 等)的 XMI 文件。每个文件代表一个简单的 UML 图,其中 B 类只是扩展了 A 类。
平均每个文件包含这样的代码:
<uml:Model xmi:version="2.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmlns:uml="http://www.eclipse.org/uml2/2.1.0/UML" xmi:id="_kkgsMBeLEd60N8ipLbB6nA" name="ObjectOrientedModel_4">
<packagedElement xmi:type="uml:Class" xmi:id="_-0_24HdHEeCkkOWu36zbRw" name="A"/>
<packagedElement xmi:type="uml:Class" xmi:id="_--YcYHdHEeCkkOWu36zbRw" name="B">
<generalization xmi:id="_-_blQHdHEeCkkOWu36zbRw" general="_-0_24HdHEeCkkOWu36zbRw"/>
</packagedElement>
</uml:Model>
我知道在哪里描述了 uml:smth 和 xmi:smth,但是我无法找出 packageElement 和其他标签是从哪里获取的。
在 OMG 规范达到这个之前,我没有找到任何信息:http://www.omg.org/spec/XMI/2.4/Beta2/ ,但该标签是在创建 XMI 2.4 规范之前使用的。
最佳答案
我也花了一些时间才弄明白,但是packagedElement是用UML定义的。所以在 OMG UML Spec v2.4.1 提供的 xmi实际上定义了自己(所有使用的标签都在那里定义!-- ownedAttribute、ownedComment、packagedElement、.....)
我只是把它留在这里,以防其他人对此感到疑惑。
关于uml - UML XMI 表示中的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5904409/