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>.. |