我有一个XSD文件中的模式。偶尔会创建模式的新版本,我需要更新我的.ecore(和.genmodel)文件。如何在不删除它们并重新生成它们的情况下更新它们?我对ecore进行了一些手动修改,我想保留这些修改。
Ido。
我有一个XSD文件中的模式。偶尔会创建模式的新版本,我需要更新我的.ecore(和.genmodel)文件。如何在不删除它们并重新生成它们的情况下更新它们?我对ecore进行了一些手动修改,我想保留这些修改。
Ido。
使用*.genmodel上的Reload...操作,根据新版本的*.xsd更新*.ecore。
不要直接更改 .ecore 文件。使用 ecore: 模式中的注释。http://www.eclipse.org/modeling/emf/docs/overviews/XMLSchemaToEcoreMapping.pdf
我从未尝试过这个,但是XSD FAQ上说:
JAXB会根据XML Schema生成一个简单的Java API,它使用基本上是黑盒设计。EMF会根据XML Schema生成Ecore模型,然后使用基于模板的生成器技术生成高质量的Java API(手写质量)。可以定制XML Schema到Ecore的转换,可以定制用于生成Java API的模板,并且可以定制生成的Java API。 生成器支持合并再生,以便保留您手动编写的更改。 换句话说,EMF更加丰富和灵活,并支持更广泛的XML Schema子集(特别是在2.0中,将支持通配符和混合内容)。
如果我是你,我会尝试一些实验,看看这个过程的效果如何,以及实际限制是什么。
您可以使用上下文菜单选项重新生成。为了保留您的修改:
所有其他内容应合并。请放心尝试--这就是版本控制的作用....