【问题标题】:Tags in UML XMI representationUML XMI 表示中的标签
【发布时间】:2011-05-05 21:41:09
【问题描述】:

我有一些来自不同 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 规范之前使用了该标签。

【问题讨论】:

    标签: uml modeling xmi


    【解决方案1】:

    我也花了一些时间才弄明白,但是 packagedElement 是在 UML 中定义的。所以OMG UML Spec v2.4.1 提供的 xmi 实际上定义了自己(所有使用的标签都在那里定义!--ownedAttribute,ownedComment,packagedElement,.....)

    我只是把这个留在这里,以防其他人对此感到疑惑。

    【讨论】:

    • 没有定义它的 xsd,所以你的意思是因为它在 UML.xmi 中,所以它是“原位定义的?”
    • 我自己也遇到过,这看起来不像是有效的 XML,这些标签没有明确的命名空间,文档中也没有默认命名空间......跨度>
    【解决方案2】:

    xmi:id 是 UML 元素的动态创建。与 java 一样,每个 UML 元素都有一个 id,该 id 在所有建模阶段都应该保持不变。 如果您阅读来自 EclipseUML2 元模型的 xmi,您可以找到更多信息。这个模型是官方的 OMG UML 2.3 并且被许多工具使用。

    不要忘记一个好的 UML 工具应该有两个文件。一个是图形的,不能被任何其他工具共享,另一个是模型,应该是 xmi 2.1 格式。

    【讨论】:

    • 哎哟!出现了一个小故障,因为我把写在一起,没有检测到它被解析为标签而消失了。已更正。
    猜你喜欢
    • 2012-05-05
    • 1970-01-01
    • 1970-01-01
    • 2016-02-02
    • 1970-01-01
    • 1970-01-01
    • 2018-10-14
    • 1970-01-01
    • 2018-09-24
    相关资源
    最近更新 更多