umlxmi表示中的标记

umlxmi表示中的标记,uml,modeling,xmi,Uml,Modeling,Xmi,我从不同的UML建模工具(可视化范例、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"

我从不同的UML建模工具(可视化范例、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规范中没有找到任何信息,但在创建XMI 2.4规范之前使用了这些标记。

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


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

我也花了一些时间才弄明白,但是packagedElement是在UML中定义的。因此,在中提供的xmi实际上定义了它自己(使用的所有标记都在其中定义!--ownedAttribute、ownedComment、PackageDelete等等)


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

哎哟!有一个小错误,因为我一起编写了,没有检测到它被解析为标记并消失了。更正。没有xsd来定义它,所以你的意思是,仅仅因为它在UML.xmi中,它是“在原地定义的”,我自己也遇到过,这看起来不像是有效的XML,这些标记没有显式的名称空间,文档中也没有默认的名称空间。。。