2011-05-05 109 views
2

我有一些來自不同UML建模工具(Visual Paradigm,PowerDesigner等)的XMI文件。每個文件表示其中B類只是擴展類A.UML XMI表示中的標籤

平均每個文件都包含這樣一個代碼的簡單的UML圖:

<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:不便和XMI:不便描述但我無法從packageElement等標籤獲取。

我在OMG規範中沒有找到任何信息:http://www.omg.org/spec/XMI/2.4/Beta2/,但是在創建XMI 2.4規範之前使用了這些標籤。

回答

-1

xmi:id是UML元素的動態創建。就像java一樣,每個UML元素都有一個id,在所有建模階段都應該保持不變。 如果您閱讀來自EclipseUML2元模型的xmi,可以找到更多信息。這個模型是官方的OMG UML 2.3,並被許多工具所使用。

不要忘了一個好的UML工具應該有兩個文件。一個是圖形化的,不能被任何其他工具共享,另一個是模型,應該是xmi 2.1格式。

+0

哎唷!由於我一起寫了,並且沒有檢測到它被解析爲標籤並消失,所以出現了一個小故障。糾正。 – Alexey 2011-05-07 15:52:50

1

它也花了我一些時間來弄明白,但packagedElement是在UML中定義的。因此,在OMG UML Spec v2.4.1提供的xmi實際上定義了自己(所有使用的標籤都在這裏定義! - ownedAttribute,ownedComment,packagedElement,.....)

我只是在這裏留下以防其他人想知道它。

+0

沒有定義它的xsd,所以你的意思只是因爲它在UML.xmi中,它是'現場定義的?' – GilesDMiddleton 2015-04-16 15:24:26