我正在用java语言编写一个程序,它将java源代码作为输入,输出是xmi文件,其中包含源代码的类图。
我研究过xmi结构,但是我找不到足够的资源来解释标签的结构和顺序。
第一个问题是我如何才能找出标签的顺序和每个标签的定义?例如,“isActive = false”等的含义是什么?
其次,是否有任何关于图书馆或java语言的建议可以帮助我完成这个项目?
答案 0 :(得分:3)
我认为标签顺序在XMI中无关紧要。通常,XMI只定义了如何将MOF映射到XML。所以基本上你从Java构建M2模型(= UML),然后如果我理解正确的话,用XMI将它映射到XML(我认为双重间接是为什么你找不到从UML到XMI的映射的好资源的原因直)。
对于许多人来说,示例可能比各种OMG标准定义的转换规则链更容易访问。所以我只想在我最喜欢的UML工具中绘制一个最小的UML示例图,用于我感兴趣的导出方面,并查看导出的XMI。然后根据需要添加功能......
PS:您可能希望使用Java反射类(包java.lang.reflect)而不是自己解析Java源代码来生成XMI(如果您不需要保留方法参数名称)。