UML的XMI是否有XSD?

时间:2016-04-25 16:07:20

标签: xml xsd uml

UML XMI文件是否有XSD?

标题只包含名称空间引用。

<xmi:XMI xmi:version="2.1"
    xmlns:uml="http://schema.omg.org/spec/UML/2.1"
    xmlns:xmi="http://schema.omg.org/spec/XMI/2.1"
    xmlns:thecustomprofile="http://www.sparxsystems.com/profiles/thecustomprofile/1.0">

我设法追踪的唯一文件是CodeClimate CLI但是这只是对XMI本身(差异/文档)的描述,而不是UML。

这意味着我不知道以下过程如何

<generalization
    xmi:type="uml:Generalization" 
    xmi:id="EAID_8CC13F09_BD19_406b_A4B4_37FB8B315EF0" 
    general="EAID_E1F9FAD6_2BDB_40ad_AAE2_E3935ADD1CDC"/>

因为我无法知道general的类型是什么(当然我可以检查全局ID表,但对于每个属性和TextElement来说这似乎都很愚蠢。)

我希望有类似

的东西
<xsd:complexType name="Generalization">
    <xsd:attribute name="general" type="xsd:IDREFS" use="optional"/>
    ...
</xsd:complexType>

UML的XMI是否有这样的描述?

2 个答案:

答案 0 :(得分:2)

经过多次挖掘后,我的结论不仅仅是这样的XSD不存在,而且它根本不存在,因为它不足以正确表达所有OCL约束和规则UML。

正确的方法应该是通过一致的UML模型来验证/处理它,因此必须以某种方式从模型中获得正确处理XML的必要信息。

<强>更新

Per @ Thomas&#39;建议我写信给Sparx并得到以下回复

  

它源自UML元模型。

     

不,我们没有XDN格式的XSD。

这证实了我的假设,即信息应该来自元模型。

答案 1 :(得分:0)

是的,有一个XMI的官方规范,包括XSD 对于最新版本(v 2.5.1),这是xsd,但此xsd不会验证模型的UML语法。

xmi format

中也可以使用UML的元模型

有关http://www.omg.org/spec/XMI/

的更多信息