<!ELEMENT metamodel (provider, (modelReader | modelWriter)*)>
<!ATTLIST metamodel
id CDATA #REQUIRED
name CDATA #REQUIRED
version CDATA #REQUIRED
presentationName CDATA #REQUIRED>
"uml21"),
used to reference the metamodel in rulesets and text templates."UML"), without version information,
used for example by MDWorkbench when writing XMI files."2.1"),
used for example by MDWorkbench when writing XMI files."UML 2.1"),
presented to the end-user.
<!ELEMENT provider (property*)>
<!ATTLIST provider
class CDATA #FIXED "com.sodius.mdw.corext.model.emf.EMFMetamodelProvider">
Here are the children property of the provider element:
org.eclipse.emf.ecore.EPackage.
This interface is generated by the metamodel importer and defines the contents of the metamodel.com.sodius.mdw.core.model.ProfileProvider.
If omitted, profile mechanism won't be available for this metamodel.
<!ELEMENT property EMPTY>
<!ATTLIST property
name CDATA #REQUIRED
value CDATA #REQUIRED>
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>