2013-05-11 54 views
5

我正在寫一個java語言的程序,它將java源代碼作爲輸入,輸出是包含源代碼的類圖的xmi文件。如何爲java源代碼生成XMI文件?

我已經研究了xmi結構,但是我無法找到解釋標籤結構和順序的足夠資源。

第一個問題是如何找出標籤的順序和每個標籤的定義?例如,「isActive = false」的含義是什麼?

其次,是否有任何建議的圖書館或任何可以幫助我完成這個項目的Java語言?

+0

您可以根據需要定義xml結構。 – 2013-05-11 04:29:41

+0

如果你首先通過一些基本的XML教程來了解XML基本知識,比如標籤,屬性,命名空間,那麼會更好...... – 2013-05-11 04:32:42

+0

http://www.vogella.com/articles/JAXB/article.html – 2013-05-11 05:17:32

回答

3

我認爲標籤順序在XMI中並不重要。通常,XMI只是定義瞭如何將MOF映射到XML。所以基本上你可以從Java中構建M2模型(= UML),然後如果我正確理解這一點,將它映射到帶有XMI的XML(我認爲雙重間接是爲什麼你沒有找到用於從UML到XMI的映射的好資源直)。

對於很多人來說,示例可能比由各種OMG標準定義的轉換規則鏈更易於訪問。所以我只是在我最喜歡的UML工具中爲我感興趣的導出方面繪製一個最小的UML示例圖並查看導出的XMI。然後根據需要添加功能...

PS:您可能希望使用Java反射類(包java.lang.reflect)而不是自己解析Java源來生成XMI(如果您不需要保留方法參數名稱)。

+2

使用反射會拋出方法的參數名稱。這可能是一個值得擔憂的問題 - YMMV。 – 2013-05-11 09:20:20

+0

@Stefan Haustein,我很感謝你的迴應,但我並不清楚你的意思。我正在解析Java代碼來生成XMI文件。我看到了在Windows上使用StarUML或在Mac上使用ArgoUML創建的例子。我找到類和它們的內容之間的關係並生成UMLClass圖。我對Java反射留下了深刻的印象,但是我可以將它用於我的程序來確定任何源的類圖。 (程序的輸入是任何源代碼) – Bernard 2013-05-11 15:35:37

+0

@ A.H。謝謝,修正 – 2013-05-11 20:33:28