【发布时间】:2009-09-01 11:34:45
【问题描述】:
我的应用程序使用基于 xsd 的模型,该模型在生成 java 类之前已转换为 ecore。 我的一位团队成员在以前的版本中修改了 .ecore 元模型,这是曾经生成的一个属性。他修改了属性名称,但没有修改指定用于 xml 持久性的元素名称的扩展元数据。
<eStructuralFeatures xsi:type="ecore:EReference" name="javaDocsAndUserApi" upperBound="-1"
eType="#//JavaDocsAndUserApi" containment="true" resolveProxies="false">
<eAnnotations source="http:///org/eclipse/emf/ecore/util/ExtendedMetaData">
<details key="kind" value="element"/>
<details key="name" value="docsAndUserApi"/>
</eAnnotations>
</eStructuralFeatures>
所以我们有一个属性名称 javaDocsAndUserApi 和名为 docsAndUserApi 的持久元素,当然如果我创建更改 xsd 中的属性以命名为 javaDocsAndUserApi,ecore 转换也会生成一个元数据名称 javaDocsAndUserApi,这将破坏与以前持久化模型的兼容性。
我查看了 xsd 创作指南以找到一个 ecore:som_attribute,它允许我指定在 xsd 中使用哪个键来强制在 xsd 到 ecore 转换期间将元数据命名为 docsAndUserApi但没有找到任何东西。 有人有什么想法可以帮助我吗?
谢谢。
【问题讨论】:
标签: eclipse eclipse-emf eclipse-emf-ecore