是否有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">
我设法追踪的唯一文件是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"/>
因为我无法知道一般的类型是什么(当然我可以检查全局ID表,但对于每个属性和TextElement来说这似乎都很愚蠢).
我希望有类似的东西
<xsd:complexType name="Generalization">
<xsd:attribute name="general" type="xsd:IDREFS" use="optional"/>
...
</xsd:complexType>
UML的XMI有这样的描述吗?
最佳答案 经过一些挖掘,我的结论不仅仅是这样的XSD不存在,而且根本不存在,因为它不足以正确表达UML的所有OCL约束和规则.
正确的方法应该是通过一致的UML模型来验证/处理它,因此必须以某种方式从模型中获得正确处理XML的必要信息.
更新:
根据@Thomas的建议,我写信给Sparx并得到以下回复
It’s derived from the UML metamodel.
No, we don’t have an XSD for the XMI format.
这证实了我的假设,即信息应该来自元模型.