【发布时间】:2010-11-18 02:15:48
【问题描述】:
我在 xsd 文件中有一个架构。偶尔会创建一个新版本的架构,我需要更新我的 .ecore(和 .genmodel)。 如何更新它们,而不删除它们并重新生成它们。我对 ecore 做了一些手动修改,我想保留这些修改。
伊多。
【问题讨论】:
标签: java eclipse-plugin eclipse-rcp eclipse-emf
我在 xsd 文件中有一个架构。偶尔会创建一个新版本的架构,我需要更新我的 .ecore(和 .genmodel)。 如何更新它们,而不删除它们并重新生成它们。我对 ecore 做了一些手动修改,我想保留这些修改。
伊多。
【问题讨论】:
标签: java eclipse-plugin eclipse-rcp eclipse-emf
在 *.genmodel 上使用 Reload... 操作根据 *.xsd 的新版本更新 *.ecore。
【讨论】:
并且不要直接更改 .ecore。在架构中使用 ecore: 注释。 http://www.eclipse.org/modeling/emf/docs/overviews/XMLSchemaToEcoreMapping.pdf
【讨论】:
我从未尝试过,但XSD FAQ 是这样说的:
JAXB 生成一个简单的 Java API 一个 XML Schema,它使用 本质上是一个黑盒设计。电磁场 在给定 XML 的情况下生成 Ecore 模型 Schema,然后使用基于模板的 发电机技术,以产生 丰富的Java API(手写 质量)。 XML Schema to Ecore 转换可以定制, 用于生成 Java 的模板 API可以定制,结果 Java API 可以定制。 该 生成器支持合并 再生,使其保持 您的手写更改。 在其他 换句话说,EMF 要丰富得多 灵活,并支持更广泛的 XML Schema 的子集(尤其是在 2.0,其中将支持通配符和混合内容)。
如果我是你,我会尝试一些实验来看看这个过程的效果如何,以及实际的限制是什么。
【讨论】:
您可以使用上下文菜单选项重新生成。要保留您的修改:
应合并所有其他内容。继续实验——这就是版本控制的用途......
【讨论】: