About SW-Quality Safety SW-Entwicklung UML Nachschlagen Programme
UML Basics
UML Diagramme
UML Tools
UML Interna
XMI Data exchange Feature Behavior Interface1
 
XMI Data exchange  (ein Beispiel) Die resultierende XMI Datei  (direkt öffnen)
Als Beispiel wurde ein UML Modell mit nur einer Klasse verwendet. Nach dem Export dieses Modells entstand nebenstehende XMI Datei (XML Metadata Interchange). 
Problematisch ist derzeit, dass die XMI Spezifikation für UML 1.3 unzureichend war und somit die UML Tools verschiedene Erweiterungen vornehmen mussten und damit nicht mehr kompatibel sind.
Mit UML2.0 soll ein verbessertes XMI Format eingeführt werden, um eben dieses Manko zu verbessern.

Bei der XMI Datei handelt es sich um eine gültige XML Datei, sie kann mit InternetExplorer geöffnet werden. 

<?xml version = '1.0' encoding = 'ASCII' ?>
<XMI xmi.version = '1.1' xmlns:UML = '//org.omg/UML/1.3'>
 <XMI.header>    ....     </XMI.header>
 <XMI.content>
  <UML:Model xmi.id = 'S.1' name = 'Project' visibility = 'public'>
   <UML:Namespace.ownedElement>
    <UML:Class xmi.id = 'S.4'
          name = 'KlassenName' visibility = 'public' 
          isSpecification = 'false'
          isAbstract = 'false' isActive = 'false'>
     <UML:ModelElement.namespace>
      <Foundation.Core.Namespace xmi.idref = 'S.3'/>
     </UML:ModelElement.namespace>
     <UML:Classifier.feature>
     <UML:Attribute xmi.id = 'S.5'
            name = 'DasAttribut' visibility = 'public' 
            isSpecification = 'false'
            changeability = 'changeable' ownerScope = 'instance'>
       <UML:StructuralFeature.multiplicity>
        <UML:Multiplicity>
         <UML:Multiplicity.range>
          <UML:MultiplicityRange lower = '1' upper = '1'/>
         </UML:Multiplicity.range>
        </UML:Multiplicity>
       </UML:StructuralFeature.multiplicity>
       <UML:StructuralFeature.type>
        <Foundation.Core.Classifier xmi.idref = 'G.0'/>
       </UML:StructuralFeature.type>
      </UML:Attribute>
      <UML:Operation xmi.id = 'S.6'
            name = 'DieOperation' visibility = 'public'
            isSpecification = 'false'
            isAbstract = 'false' ownerScope = 'instance'>
       <UML:BehavioralFeature.parameter>
        <UML:Parameter xmi.id = 'XX.6' name = 'DieOperation.Return'
            isSpecification = 'false' kind = 'return'>
         <UML:Parameter.type>
          <Foundation.Core.Classifier xmi.idref = 'G.0'/>
         </UML:Parameter.type>
        </UML:Parameter>
       </UML:BehavioralFeature.parameter>
      </UML:Operation>
     </UML:Classifier.feature>
    </UML:Class>
    <UML:DataType xmi.id = 'G.0'
          name = 'int' visibility = 'public' isSpecification = 'false'/>
   </UML:Namespace.ownedElement>
  </UML:Model>
  <UML:TaggedValue xmi.id = 'XX.0'
        tag = 'name' value = 'KlassenName'>
   <UML:TaggedValue.modelElement>
    <Foundation.Core.ModelElement xmi.idref = 'S.4'/>
   </UML:TaggedValue.modelElement>
 .......
</XMI>..
©; created Mon Aug 07 22:31:53 CEST 2006; eMail