2013-07-31 1 views
3

Je dois analyser un fichier XMI (xmi version 2.1.1) en utilisant JAXB.XSD pour XMI 2.1.1

Pour cela, je dois générer des classes Java correspondant à un fichier XMI. J'ai donc besoin d'une définition de shema d'un fichier xmi pour le faire avec l'outil jxc.

J'espère que quelqu'un sait où je peux trouver ce fichier. Merci d'avance pour votre aide!

Edit: pour plus d'informations, il y a un exemple d'un fichier XMI (généré à l'aide modelio):

<?xml version="1.0" encoding="UTF-8"?> 
<uml:Model xmlns:uml="http://schema.omg.org/spec/UML/2.1.1" xmlns:xmi="http://schema.omg.org/spec/XMI/2.1" xmi:version="2.1" xmi:id="_1cUA4Pm5EeKGw-fe2JKgbQ" name="test"> 
    <eAnnotations xmi:id="_1cUA4fm5EeKGw-fe2JKgbQ" source="Objing"> 
    <contents xmi:type="uml:Property" xmi:id="_1cUA4vm5EeKGw-fe2JKgbQ" name="exporterVersion"> 
     <defaultValue xmi:type="uml:LiteralString" xmi:id="_1cUA4_m5EeKGw-fe2JKgbQ" value="2.2"/> 
    </contents> 
    </eAnnotations> 
    <ownedComment xmi:type="uml:Comment" xmi:id="_1cUA5Pm5EeKGw-fe2JKgbQ"> 
    <body/> 
    </ownedComment> 
    <packagedElement xmi:type="uml:Class" xmi:id="_1cUA5fm5EeKGw-fe2JKgbQ" name="User"> 
    <ownedAttribute xmi:type="uml:Property" xmi:id="_1cUA5vm5EeKGw-fe2JKgbQ" name="login" visibility="private" isUnique="false" isReadOnly="true"> 
     <type xmi:type="uml:PrimitiveType" href="http://schema.omg.org/spec/UML/2.1.1/uml.xml#String"/> 
    </ownedAttribute> 
    <ownedAttribute xmi:type="uml:Property" xmi:id="_1cUA5_m5EeKGw-fe2JKgbQ" name="id" visibility="private" isUnique="false" isReadOnly="true"> 
     <type xmi:type="uml:PrimitiveType" href="http://schema.omg.org/spec/UML/2.1.1/uml.xml#Integer"/> 
    </ownedAttribute> 
    </packagedElement> 
    <packagedElement xmi:type="uml:Association" xmi:id="_1cUA6Pm5EeKGw-fe2JKgbQ" memberEnd="_1cUA6fm5EeKGw-fe2JKgbQ _1cUA7fm5EeKGw-fe2JKgbQ"> 
    <ownedEnd xmi:type="uml:Property" xmi:id="_1cUA6fm5EeKGw-fe2JKgbQ" type="_1cUA6_m5EeKGw-fe2JKgbQ" association="_1cUA6Pm5EeKGw-fe2JKgbQ"> 
     <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1cUA6vm5EeKGw-fe2JKgbQ"/> 
    </ownedEnd> 
    </packagedElement> 
    <packagedElement xmi:type="uml:Class" xmi:id="_1cUA6_m5EeKGw-fe2JKgbQ" name="Group"> 
    <ownedAttribute xmi:type="uml:Property" xmi:id="_1cUA7Pm5EeKGw-fe2JKgbQ" name="label" visibility="private" isUnique="false" isReadOnly="true"> 
     <type xmi:type="uml:PrimitiveType" href="http://schema.omg.org/spec/UML/2.1.1/uml.xml#String"/> 
    </ownedAttribute> 
    <ownedAttribute xmi:type="uml:Property" xmi:id="_1cUA7fm5EeKGw-fe2JKgbQ" name="user" type="_1cUA5fm5EeKGw-fe2JKgbQ" isReadOnly="true" aggregation="shared" association="_1cUA6Pm5EeKGw-fe2JKgbQ"> 
     <upperValue xmi:type="uml:LiteralUnlimitedNatural" xmi:id="_1cUA7vm5EeKGw-fe2JKgbQ" value="*"/> 
     <lowerValue xmi:type="uml:LiteralInteger" xmi:id="_1cUA7_m5EeKGw-fe2JKgbQ"/> 
    </ownedAttribute> 
    </packagedElement> 
</uml:Model> 
+0

Que contient votre fichier XMI? UML? Quelle version? – Christian

+0

ah, dans ce cas la réponse de Xaelis semble bien – Christian

Répondre

4

Vous pouvez trouver le XSD XMI sur le site OMG XMI XSD 2.1.1 mais vous aurez également besoin du UML Schema et MOF Schema.

Une meilleure façon de lire et d'écrire des fichiers UML XMI est d'utiliser le Eclipse UML implementation. Il peut facilement être utilisé en dehors d'Eclipse dans un programme Java simple: see

+0

Merci, j'ai utilisé UML2 selon votre exemple et ça marche bien :) – flow