我需要读取被序列化为XMI UML图。有没有可以让我方便阅读UML XMI任何库 - 通过方便我指的是具有模型在类/包/方法/ attributest等一些方法来遍历

我试过EMF,但我无法找到任何教程将展示如何导入包含UML XMI。我还发现 NSUML / NSMDF 但到文档中的链接断开。

有帮助吗?

解决方案

我不认为你想要什么存在。所有工具导入XMI,我知道(包括我XMI转换服务:的 http://modeling-languages.com/content/xmi2-tool-exchanging-uml-models-among-case-tools )通过解析整个XMI文件并创造相应的UML模型工作主内存。然后,你可以通过查询模型访问中的UML元素。

要迭代的XMI模型,你可以很容易地使用XML库来选择您感兴趣的XMI文件的部分。

其他提示

也许只是看一看转化XMI到HTML 。这可帮助您开始使用XSLT和XMI。

这取决于版本的UML,你正试图读取。该NSUML包,你发现只适用于UML 1.3。该 NetBeans的元数据仓库(MDR)会读手柄UML 1.4和UML 1.5。它可以作为一个独立的库(这是什么用途的ArgoUML),所以你不需要的NetBeans。对于UML 2.x中,我认为,以Eclipse EMF和UML2库是你唯一的选择。 EMF是一个依赖,但它确实是你想要的东西UML2。像MDR和NetBeans,你不需要的Eclipse。的ArgoUML使用Eclipse库其UML 2.x的支持。

的ArgoUML 可以导入XMI其UML模型和生成代码的Java,C ++ ,C#,PHP4和PHP5。

为了使用EMF阅读XMI / UML,你需要找到,产生或UML写Ecore模型。一旦你有其中的一个,就可以产生在内存中的类用于操纵UML和杠杆另一EMF基础设施。

但是,一个简单的路线可能是使用由Eclipse MDT开发的UML2基础设施项目。 (我的猜测是,它使用EMF罩下,并且有在那里的地方为UML2 Ecore模型。)

scroll top