2016-09-25 46 views
0

我有Tree.ecore作爲源Metamodel。我需要寫是這樣的:在Eclipse中獲取nsuri

model Tree driver EMF {nsuri="http://www.eclipse.org/emf/2002/Tree"}; 

我怎樣才能得到確切的nsuri我註冊eclipseecore

回答

1

如果你在你的Emfatic元模型使用@namespace(uri="Tree", prefix="Tree"),那麼你正在尋找的nsuri是Tree(nsuri代表「命名空間URI」)

1

我想你已經爲你的Tree.ecore產生了模型代碼 然後你通過生成的靜態Package類獲得nsuri和所有其他元素(如所有EAttributes,EReferences等)。 在你的情況下,它可能被稱爲TreePackage

所以,你得到的nsuri這樣的:

TreePackage.eNS_URITreePackage.eINSTANCE.getNsURI()

更新:

如果你只有* .ecore文件,並想知道的URI,打開該文件用文本編輯器,然後查看文件開頭的<ecore:EPackage標籤。在那裏,你看到attribut nsURI

+0

我想使用這個工具:HTTPS ://github.com/epsilonlabs/haetae 我必須在轉換代碼中聲明元模型。正如在鏈接中所說的,我必須寫下類似於我在問題中寫的內容。我想知道是否我聲明源和目標元模型(Tree.emf和Graph.emf)的URI與此鏈接相同:http://www.eclipse.org/epsilon/examples/index.php?example=org.eclipse .epsilon.examples.tree2graph如何在轉換代碼中寫入nsuri? – any

+0

我從來沒有聽說過haetae,但是你有沒有試過用你的'Tree'聲明呢?你知道如何獲得uri嗎?我更新了我的答案 –

+0

我在這個文件的開始處有一個Tree.emf文件,其中寫了@namespace(uri =「Tree」,prefix =「Tree」)。我通過右鍵點擊它在EPackege中註冊這個Metamodel。那麼我有ETL文件,並且在這個文件中我想用這種格式聲明樹元模型。我需要這個nsuri,我不知道我該怎麼寫nsuri? – any