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