XML Schema和XMI之间的区别

4
什么是XML Schema(XSD)和XMI之间的区别?
2个回答

3

这有点像字典和园艺目录之间的区别。换句话说,它们几乎没有什么相同之处。

XML Schema 是描述一类 XML 文档结构和约束的一种方式。

XMI 是 UML 模型的 XML 表示。

如果你不理解它们之间的区别,那么你可能没有理解其中任何一个规范。


1
我的问题如下:当我查看XSD时,它以基于XML的方式定义我的模型。当我查看XMI文件时,它也以基于XML的方式定义模型。所以我不明白为什么我需要这两种格式。难道XMI或XSD不足够吗? - matthias
XSD并不定义模型,它定义XML的结构。XML的结构可能与您的数据模型某种程度上相对应,但它们是两个不同的概念。 - MiMo
XMI 可能会告诉您一本书可以有多个作者,而作者也可以写多本书。但它并没有告诉您在 XML 文档中如何表示书籍和作者之间的关系。 - Michael Kay
BPMN 2.0 提供了基于 XMI 和 XSD 的序列化:http://scn.sap.com/docs/DOC-3076。因此,XMI 并不总是 UML 模型的表示形式。 - koppor
这实际上是一个非常明智的问题,而且这个答案忽略了XMI的复杂性。有关有趣的阐述,请参见此演示文稿:XML元数据交换简介 - Marco Craveiro
我还建议阅读《精通XMI:Java编程与XMI、XML和UML》的章节“XMI:在XML中表示对象”和“相关标准:XML和UML”,以更好地理解元模型和XML模式(XSD)之间的关系。 - Marco Craveiro

3
抱歉在这个超级老的帖子中发帖,但我遇到了同样的问题,并发现被接受的答案是完全错误的,这很奇怪,因为被接受的答案的作者显然对XMI或XMI在最近发生的根本变化一无所知。
事实上,XMI 2.5.1是一种标准,描述了如何从给定的MOF模型创建XML模式以及如何将对象之间的交叉引用实现为XML,因为XML只允许分层结构。
因此,XMI可以应用于任何领域,而不仅仅是软件建模(UML)或业务流程(BPMN)。但是,请注意,XMI通常应用于元模型级别,而不是实例模型级别。

优秀的回答,应该被接受。 - Marco Craveiro

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接