It can be used for any metadata whose metamodel can be expressed in Meta-Object Facility (MOF).
The most common use of XMI is as an interchange format for UML models, although it can also be used for serialization of models of other languages (metamodels).
In the OMG vision of modeling, data is split into abstract models and concrete models. The abstract models represent the semantic information, whereas the concrete models represent visual diagrams. Abstract models are instances of arbitrary MOF-based modeling languages such as UML or SysML. For diagrams, the Diagram Interchange (DI, XMI[DI]) standard is used. At the moment there are several incompatibilities between different modeling tool vendor implementations of XMI, even between interchange of abstract model data. The usage of Diagram Interchange is almost nonexistent. This means exchanging files between UML modeling tools using XMI is rarely possible.
One purpose of XML Metadata Interchange (XMI) is to enable easy interchange of metadata between UML-based modeling tools and MOF-based metadata repositories in distributed heterogeneous environments. XMI is also commonly used as the medium by which models are passed from modeling tools to software generation tools as part of model-driven engineering.
Examples of XMI, and lists of the XML tags that make up XMI-formatted files, are available in the version 2.5.1 specification document.
XMI integrates four industry standards:
The integration of these four standards into XMI allows tool developers of distributed systems to share object models and other metadata.
Several versions of XMI have been created: 1.0, 1.1, 1.2, 2.0, 2.1, 2.1.1, 2.4, 2.4.1, 2.4.2. and 2 5.1. The 2.x versions are radically different from the 1.x series.
The Diagram Definition OMG project is another alternative, which can also express the layout and graphical representation.
XMI is an international standard: