0
我在一个xsd以下类型:如何在EMF Ecore中映射xs:any?
<xs:complexType name="VendorSpecificType">
<xs:sequence>
<xs:any namespace="##any" processContents="skip" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
我创建这种类型的E字形芯:
我试图注入含有下列标记的XML:
<VendorSpecific>
<Vendor ID="1"/>
</VendorSpecific>
但它崩溃
org.eclipse.m2m.atl.core.ATLCoreException: Error loading test.xml: org.eclipse.emf.ecore.xmi.FeatureNotFoundException: Feature 'Vendor' not found.
用于在元模型中注入模型的代码已经过测试和工作。 即使我删除了供应商标签,也可以正确加载此test.xml。
我的问题是如何将xsd any映射到ecore类型,以便可以加载?
UPDATE:
调试之后,似乎我用注入模型转换为Ecore模型的代码是不完整的:在extendedmetadata总是空
// Load in metamodel
IReferenceModel metamodel = modelFactory.newReferenceModel();
injector.inject(metamodel, metamodelPath);
model = modelFactory.newModel(metamodel);
injector.inject(model, modelPath);
我怎么告诉它加载元数据?