EMF通过Ecore支持XSD到XSD的导入导出功能,但是我有一个需要在两个域之间持续切换的用例。
我有一组已发布的XSD模式,以及使用与该模式兼容的XML的各种软件。我希望使用EMF在此基础上构建一个工具层,并且可以从XSD创建Ecore模型。但是,在基于Ecore的工具创建输出之后,我需要创建新的模式,它使用开始时使用的模式的类型,即:
XSD -> ECORE ->修改XSD -> XML
我还需要在基于EMF的工具中使用与这些模式兼容的XML,即
XML(与原始模式兼容)-> ECORE -> XML(与原始模式兼容)
看着网上的讨论,我有一种感觉,这条路线可能不可能,至少不是直接的。你认为这个总体目标可行吗?什么样的修改等将是必要的实现这一点?我不能把所有的建模都移到EMF上,因为其余的世界将留在XSD领域,但我确实可以从EMF工具中获益,并将其链接到XSD世界。
我现在知道这是可能的。Ed Merks在这里亲切地回答了这个问题:http://www.eclipse.org/forums/index.php/m/825082/#msg_825082
基本上,您必须使用正确的资源工厂实现来确保使用来自xsd的元数据。