2011-05-09 15 views
5

Estoy utilizando el modelo de Ecore que se basa en el archivo de esquema XML importado (XSD). Usando clases Java generadas (basadas en el modelo Ecore), construyo una instancia del modelo y la guardo como un recurso en el estándar XMI. Este archivo XMI es en realidad un archivo XML que se ajusta al modelo Ecore.¿Cómo convertir una instancia modelo de XMI de Ecore a XML de la XSD dada?

Preguntas:
¿Es posible convertir la instancia del modelo Ecore del formato XMI al formato XML que se ajusta al esquema XML original (XSD)?

¿Qué sdks/frameworks/plugins pueden proporcionar tal conversión?

Gracias

Respuesta

2

Si se asegura de guardar la instancia utilizando el recurso creado por el XyzResourceFactoryImpl generado, debe producir resultados que se ajusten a su esquema. Parece que ha guardado usando un XMIResourceImpl. Intente invocar Generar código de prueba y mire el XyzExample.java generado para saber cómo asegurarse de que está utilizando la implementación correcta de recursos con las opciones de guardar/cargar correctas.

+1

Tienes razón, utilicé XMIResourceImpl. Al usar: GenericXMLResourceFactoryImpl y XMLResource.OPTION_EXTENDED_META_DATA obtuve la solución para mi pregunta. Gracias. – sromku

+1

Enlaces: [GenericXMLResourceFactoryImpl] (http://download.eclipse.org/modeling/emf/emf/javadoc/2.5.0/org/eclipse/emf/ecore/xmi/impl/GenericXMLResourceFactoryImpl.html); [XMLResource.OPTION_EXTENDED_META_DATA] (http://help.eclipse.org/help33/index.jsp?topic=/org.eclipse.emf.doc/references/javadoc/org/eclipse/emf/ecore/xmi/XMLResource.html) – sromku

0

Usted puede exportar el .genmodel mediante el uso de las herramientas EMF:

  1. abierto .genmodel
  2. Seleccione la opción "Exportar" desde el menú de generador

o puede exportar su modelo ecore a un esquema mediante programación usi ng el XSDFactoryImpl.

+0

En mi caso, necesito transformar la instancia (XMI) del metamodelo de Ecore en XML que conforma el XSD original, y no exportar el metamodelo de Ecore a XSD como entendí de su respuesta. Gracias, sin embargo, creo que encontré la solución. – sromku

Cuestiones relacionadas