UML 的 XMI 有 XSD 吗?
Does UML have an XSD for it's XMI?
是否有用于 UML XMI 文件的XSD?
header 仅包含名称空间引用。
<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 本身的描述 (Difference/Documentation),而不是 UML。
这意味着我不知道下面的过程是怎样的
<generalization
xmi:type="uml:Generalization"
xmi:id="EAID_8CC13F09_BD19_406b_A4B4_37FB8B315EF0"
general="EAID_E1F9FAD6_2BDB_40ad_AAE2_E3935ADD1CDC"/>
因为我无法知道 general
的类型是什么(当然我可以检查全局 ID table,但是对于每个属性和 TextElement 这样做似乎很愚蠢).
我希望有类似的东西
<xsd:complexType name="Generalization">
<xsd:attribute name="general" type="xsd:IDREFS" use="optional"/>
...
</xsd:complexType>
UML的XMI有这样的描述吗?
经过更多挖掘,我的结论是这样的 XSD 不仅不存在,而且根本不存在,因为它不够强大,无法正确表达所有 OCL 约束和UML规则。
正确的方法应该是 validate/process 通过一致的 UML 模型,因此正确处理 XML 的必要信息必须以某种方式从模型中导出。
更新:
根据@Thomas 的建议,我写信给 Sparx 并得到了以下回复
It's derived from the UML metamodel.
No, we don't have an XSD for the XMI format.
这证实了我的假设,即信息应该来自元模型。
是的,有一个 XMI 的官方规范,包括 XSD。
对于最新版本(v 2.5.1) this is the xsd 但此 xsd 不会验证模型的 UML 语法。
UML 的元模型在 xmi format
中也可用
的更多信息
是否有用于 UML XMI 文件的XSD?
header 仅包含名称空间引用。
<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 本身的描述 (Difference/Documentation),而不是 UML。
这意味着我不知道下面的过程是怎样的
<generalization
xmi:type="uml:Generalization"
xmi:id="EAID_8CC13F09_BD19_406b_A4B4_37FB8B315EF0"
general="EAID_E1F9FAD6_2BDB_40ad_AAE2_E3935ADD1CDC"/>
因为我无法知道 general
的类型是什么(当然我可以检查全局 ID table,但是对于每个属性和 TextElement 这样做似乎很愚蠢).
我希望有类似的东西
<xsd:complexType name="Generalization">
<xsd:attribute name="general" type="xsd:IDREFS" use="optional"/>
...
</xsd:complexType>
UML的XMI有这样的描述吗?
经过更多挖掘,我的结论是这样的 XSD 不仅不存在,而且根本不存在,因为它不够强大,无法正确表达所有 OCL 约束和UML规则。
正确的方法应该是 validate/process 通过一致的 UML 模型,因此正确处理 XML 的必要信息必须以某种方式从模型中导出。
更新:
根据@Thomas 的建议,我写信给 Sparx 并得到了以下回复
It's derived from the UML metamodel.
No, we don't have an XSD for the XMI format.
这证实了我的假设,即信息应该来自元模型。
是的,有一个 XMI 的官方规范,包括 XSD。
对于最新版本(v 2.5.1) this is the xsd 但此 xsd 不会验证模型的 UML 语法。
UML 的元模型在 xmi format
中也可用 的更多信息