- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在XTend中构建代码生成器,那里已经有输入模型和元模型。也就是说,我使用ATL为我的XTend代码生成器生成输入模型(作为逐渐降低抽象级别的转换序列的一部分,而不是一次;这是我不使用xtext创建语法的原因) 。
很清楚,我的代码生成器输入模型是XMI格式的文件,而不是xtext项目的语法(甚至不使用该文件)!而且我认为这导致了我的问题/困惑。
我使用现有模型创建了一个新的XText项目,右键单击.text文件,运行为,生成伪像,然后对mwe2文件执行相同的操作。
下一步是什么,我做对了吗?如何启动我的代码生成器?所有示例均来自使用XText创建DSL的POV。我有一个EMF元模型,以及一个基于XMI的实例。如何使用XTend进一步处理?
任何对教程的提示或指示都是有帮助的。
解决方案:
该解决方案正如Sven在我接受的答案中所建议的那样,但是我还要指出,您需要使用genmodel从元模型生成Java构件。该链接显示了如何:http://www.vogella.com/articles/EclipseEMF/article.html,请参阅第4节。这看起来似乎太合逻辑了,但是无论如何我都应该注意。
最佳答案
如果您有XMI,并且只想从中生成代码,则根本不需要Xtext。
只需从Java项目开始(我将使用一个插件项目,以重用依赖关系管理)并开始编码:
import org.eclipse.emf.common.util.URI
import org.eclipse.emf.ecore.EPackage
import org.eclipse.emf.ecore.resource.Resource$Factory$Registry
import org.eclipse.emf.ecore.resource.impl.ResourceSetImpl
import org.eclipse.emf.ecore.xmi.impl.XMIResourceFactoryImpl
class MyCodeGenerator {
def static void main(String[] args) {
new MyCodeGenerator().generate("mymodel.xmi")
}
def generate(String file) {
doEMFSetup
val resourceSet = new ResourceSetImpl
val resource = resourceSet.getResource(URI.createURI(file), true)
for (content : resource.contents) {
generateCode(content)
}
}
def dispatch generateCode(MySpecialType it) '''
public class «name» {
«FOR member : members»
«ENDFOR»
}
'''
def dispatch generateCode(MyMember it) '''
private «type» «name»;
...
'''
def doEMFSetup() {
// EPackage$Registry.INSTANCE.put(MyPackage.eINSTANCE.nsURI, MyPackage.eINSTANCE)
Resource$Factory.Registry.INSTANCE.extensionToFactoryMap.put("xmi", new XMIResourceFactoryImpl);
}
}
Require-Bundle: org.eclipse.xtend.lib,
com.google.guava,
org.eclipse.xtext.xbase.lib,
org.eclipse.emf.common,
org.eclipse.emf.ecore,
org.eclipse.emf.ecore.xmi
关于xmi - 在XTend中加载EMF模型实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12458852/
我正在尝试将从 PowerDesigner 导出的 UML 1.3 - XMI 1.1 格式的文件转换为 Rational Software Architect 的 UML 2.1 XMI 交换模型。
我刚刚使用 IBM-RAD 将一个项目从 java 1.5 迁移到 1.6,但出现此错误 包含 2.4 版部署描述符的项目需要 XMI 格式绑定(bind)或扩展文件 .ibm-web-ext.xml
我正在XTend中构建代码生成器,那里已经有输入模型和元模型。也就是说,我使用ATL为我的XTend代码生成器生成输入模型(作为逐渐降低抽象级别的转换序列的一部分,而不是一次;这是我不使用xtext创
我正在尝试解析此 XMI 文件 http://pastebin.com/Ltp09cPD在java中,这个文件是用ArgoUML生成的,但我得到这个错误: "Caused by: org.xml.sa
我也看到过在 Websphere Application Server 配置下创建的此文件;我注意到这个文件声明了“binariesPath”,它实际上是一个工作区。 这个文件的用途是什么?谁创建了它
情况 我有一个 PHP 项目,其中有很多类,在 Zend Naming Convention 之后的很多文件夹中有很多关系。 . 我使用 NetBeans IDE 7.1。我在 Windows 7 下
我有个问题: 在我的建模工具(企业架构师)中,我对元模型(基于 UML)进行了建模。 现在我想将元模型转换为 Ecore。但我不知道该怎么做。 在 Enterprise Architect 中,我可以
我已经用 Xtext 定义了 DSL。假设它看起来像这样: Model: components+=Component* ; Component: House | Car ; House
我有一个庞大的 PHP 项目,其中包含许多类、接口(interface)、抽象层...我需要查看 UML 类图。我想知道 PhpStorm 是否可以生成那个? 我发现可以查看单个类的“图表”:右键单击
有人可以阐明 XML 和 XMI 之间的区别吗?可以使用 XMI 代替 XML 吗? 最佳答案 XML 元数据交换 (XMI) 是一个对象管理组 (OMG) 标准,用于通过可扩展标记语言 (XML)
如何在 dart 中解析 XML 文件? 我找到了 https://github.com/prujohn/dart-xml但是在一个完整的文件上使用它是不成功的(在删除标题并只包含 uml:Model
我在维基百科上关于 XMI 的文章中找到了这句话: At the moment there are several incompatibilities between different modeli
我正在尝试导入我在名为 Visual Paradigm 的程序中设计的 UML 图表(来自 C++ 项目)。 这个程序允许我以各种格式保存 UML 图 ) 当我选择 XMI 格式时(StarUML 通
我目前正在尝试为一些 XMI 文件(从 UML 图生成)编写一个简单的解析器,但是当我尝试从此代码片段中提取目标 xmi.idref 时遇到一些问题(我想检索连接的元素)对于给定的 Activity
我在将自定义注释文档转换为 UIMA CAS,然后将其序列化为 XMI 以便通过 UIMA 注释查看器 GUI 查看注释时遇到问题。 我使用 uimaFIT 来构建我的组件,因为它更容易控制、测试和调
我知道有几个关于这个主题的 QnA。我尝试了很多解决方案,但总是遇到同样的错误。 我的代码结构是这样的: Resource.Factory.Registry reg = Resource.Factor
已结束。此问题正在寻求书籍、工具、软件库等的推荐。它不满足Stack Overflow guidelines 。目前不接受答案。 我们不允许提出寻求书籍、工具、软件库等推荐的问题。您可以编辑问题,以便
XML 模式 (XSD) 和 XMI 有什么区别? 最佳答案 很抱歉在这个超旧的线程中发帖,但我刚遇到同样的问题,发现接受的答案是 super 错误的,这很好奇,因为接受的答案的作者显然对 XMI 或
是否有用于 UML XMI 文件的 XSD? header 仅包含 namespace 引用。 我设法找到的唯一文件是这个 http://www.omg.org/spec/XMI/20131001/
本文整理了Java中org.eclipse.emf.ecore.xmi.impl.XMIHelperImpl类的一些代码示例,展示了XMIHelperImpl类的具体用法。这些代码示例主要来源于Git
我是一名优秀的程序员,十分优秀!