UML 是否有 XSD 作为它的 XMI?

Pet*_*nak 5 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">
Run Code Online (Sandbox Code Playgroud)

我设法找到的唯一文件是这个http://www.omg.org/spec/XMI/20131001/XMI.xsd但这只是 XMI 本身的描述(差异/文档),而不是 UML .

这意味着我不知道以下过程是如何进行的

<generalization
    xmi:type="uml:Generalization" 
    xmi:id="EAID_8CC13F09_BD19_406b_A4B4_37FB8B315EF0" 
    general="EAID_E1F9FAD6_2BDB_40ad_AAE2_E3935ADD1CDC"/>
Run Code Online (Sandbox Code Playgroud)

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

我希望有类似的东西

<xsd:complexType name="Generalization">
    <xsd:attribute name="general" type="xsd:IDREFS" use="optional"/>
    ...
</xsd:complexType>
Run Code Online (Sandbox Code Playgroud)

UML的XMI有这样的描述吗?

Pet*_*nak 2

经过更多挖掘,我的结论是,这样的 XSD 不仅不存在,而且根本不可能存在,因为它不够强大,无法正确表达 UML 的所有 OCL 约束和规则。

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

更新:

根据 @Thomas 的建议,我写信给 Sparx 并得到了以下回复

它源自 UML 元模型。

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

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