Metamodel XML file format

Configuration Markup

<!ELEMENT metamodel (provider, (modelReader | modelWriter)*)>

<!ATTLIST metamodel

id               CDATA #REQUIRED

name             CDATA #REQUIRED

version          CDATA #REQUIRED

presentationName CDATA #REQUIRED>

<!ELEMENT provider (property*)>

<!ATTLIST provider

class   CDATA #FIXED "com.sodius.mdw.corext.model.emf.EMFMetamodelProvider">


Here are the children property of the provider element:

<!ELEMENT property EMPTY>

<!ATTLIST property

name        CDATA #REQUIRED

value       CDATA #REQUIRED>

Examples

Here is a declaration of a UML 2.1 metamodel (metamodels.xml file):

<?xml version=

"1.0"

?>

<metamodel id=

"uml21"

name=

"UML"

version=

"2.1"

presentationName=

"UML 2.1"

> <provider class=

"com.sodius.mdw.corext.model.emf.EMFMetamodelProvider"

> <property name=

"epackage"

value=

"com.sodius.mdw.metamodel.uml21.UmlPackage"

/> <property name=

"profileProvider"

value=

"com.sodius.mdw.metamodel.uml21.util.UML21ProfileProvider"

/> </provider> <modelReader name=

"XMI"

uriType=

"file"

class=

"com.sodius.mdw.core.model.emf.EMFXMIModelReader"

> <fileExtension description=

"XMI files"

extension=

"xmi"

/> <fileExtension description=

"XML files"

extension=

"xml"

/> <fileExtension description=

"uml2 files"

extension=

"uml2"

/> </modelReader> <modelWriter name=

"XMI 2.1"

uriType=

"file"

class=

"com.sodius.mdw.core.model.emf.EMFXMIModelWriter"

> <property name=

"xmiVersion"

value=

"2.1"

/> <fileExtension description=

"XMI files"

extension=

"xmi"

/> <fileExtension description=

"XML files"

extension=

"xml"

/> <fileExtension description=

"uml2 files"

extension=

"uml2"

/> </modelWriter> <modelReader name=

"My File Reader"

uriType=

"file"

class=

"com.mycompany.model.io.MyFileReader"

> <property name=

"onDemand"

value=

"true"

/> <property name=

"details"

value=

"full"

/> <fileExtension description=

"XML files"

extension=

"xml"

/> </modelReader> <modelWriter name=

"My COM Writer"

uriType=

"noURI"

class=

"com.mycompany.model.io.MyCOMWRiter"

/> </metamodel>

Related tasks
Adding a metamodel