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

相关问题