Bonjour
s'il vous plait je besoin de votre aide. j'ai créé un fichier xmi et je cherche maintenant a extraire les relations et les classes a partir de ce fichier.
Donc je trouve que l'utilisation d'un filtre JDOM est parmi les solutions les plus efficaces. mais j'ai pas réussi a créé un filtre qui permet d'extraire les relations et les classes intervenant par exemple pour ce fichier xmi la relation envoie est entre la classe personne et mail. comme solution je pense qu'on peut extraire les noms des classes <UML:Class name=""> et les noms des association <UML:Association name =""> puis on faire la correspondance entre les associations et les classes intervenants ce que je remarque que la correspondance est au niveau de <UML:AssociationEnd> l'enfant de <UML:association.connection> qui est a son tour l'enfant de <UML:Association> qui contient le nom de l'association.
s'il vous plait je pense en niveau de programmation mais j'ai pas réussi a faire ça en code. je sais qu'il existe le filtre mais c'est pas facile de faire ça avec un fichier xmi. car la structure de ce fichier et un peux compliqué et de plus je ne connais pas beaucoup concernant JDOM.
voici le fichier xmi :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<?xml version = "1.0" encoding = "UTF-8"?>
<XMI xmi.version = "1.1" xmlns:UML="href://org.omg/UML/1.3" timestamp = "Sat Aug 23 2:5:0 2014">
<XMI.header>
  <XMI.documentation>
    <XMI.owner></XMI.owner>
    <XMI.contact></XMI.contact>
    <XMI.exporter>StarUML.XMI-Addin</XMI.exporter>
    <XMI.exporterVersion>1.0</XMI.exporterVersion>
    <XMI.notice></XMI.notice>
  </XMI.documentation>
  <XMI.metamodel xmi.name = "UML" xmi.version = "1.3"/>
 </XMI.header>
<XMI.content>
<UML:Model xmi.id="UMLProject.1">
  <UML:Namespace.ownedElement>
    <UML:Model xmi.id="UMLModel.2" name="Use Case Model" visibility="public" isSpecification="false" namespace="UMLProject.1" isRoot="false" isLeaf="false" isAbstract="false">
      <UML:Namespace.ownedElement>
        <UML:Stereotype xmi.id="X.16" name="useCaseModel" extendedElement="UMLModel.2"/>
      </UML:Namespace.ownedElement>
    </UML:Model>
    <UML:Model xmi.id="UMLModel.3" name="Analysis Model" visibility="public" isSpecification="false" namespace="UMLProject.1" isRoot="false" isLeaf="false" isAbstract="false">
      <UML:Namespace.ownedElement>
        <UML:Stereotype xmi.id="X.17" name="analysisModel" extendedElement="UMLModel.3"/>
      </UML:Namespace.ownedElement>
    </UML:Model>
    <UML:Model xmi.id="UMLModel.4" name="Design Model" visibility="public" isSpecification="false" namespace="UMLProject.1" isRoot="false" isLeaf="false" isAbstract="false">
      <UML:Namespace.ownedElement>
        <UML:Class xmi.id="UMLClass.5" name="Personne" visibility="public" isSpecification="false" namespace="UMLModel.4" isRoot="false" isLeaf="false" isAbstract="false" participant="UMLAssociationEnd.8 UMLAssociationEnd.12" isActive="false"/>
        <UML:Class xmi.id="UMLClass.6" name="mail" visibility="public" isSpecification="false" namespace="UMLModel.4" isRoot="false" isLeaf="false" isAbstract="false" participant="UMLAssociationEnd.9" isActive="false"/>
        <UML:Association xmi.id="UMLAssociation.7" name="envoie" visibility="public" isSpecification="false" namespace="UMLModel.4">
          <UML:Association.connection>
            <UML:AssociationEnd xmi.id="UMLAssociationEnd.8" name="" visibility="public" isSpecification="false" isNavigable="true" ordering="unordered" aggregation="none" targetScope="instance" changeability="changeable" association="UMLAssociation.7" type="UMLClass.5"/>
            <UML:AssociationEnd xmi.id="UMLAssociationEnd.9" name="" visibility="public" isSpecification="false" isNavigable="true" ordering="unordered" aggregation="none" targetScope="instance" changeability="changeable" association="UMLAssociation.7" type="UMLClass.6"/>
          </UML:Association.connection>
        </UML:Association>
        <UML:Class xmi.id="UMLClass.10" name="adress" visibility="public" isSpecification="false" namespace="UMLModel.4" isRoot="false" isLeaf="false" isAbstract="false" participant="UMLAssociationEnd.13" isActive="false"/>
        <UML:Association xmi.id="UMLAssociation.11" name="avoir " visibility="public" isSpecification="false" namespace="UMLModel.4">
          <UML:Association.connection>
            <UML:AssociationEnd xmi.id="UMLAssociationEnd.12" name="" visibility="public" isSpecification="false" isNavigable="true" ordering="unordered" aggregation="none" targetScope="instance" changeability="changeable" association="UMLAssociation.11" type="UMLClass.5"/>
            <UML:AssociationEnd xmi.id="UMLAssociationEnd.13" name="" visibility="public" isSpecification="false" isNavigable="true" ordering="unordered" aggregation="none" targetScope="instance" changeability="changeable" association="UMLAssociation.11" type="UMLClass.10"/>
          </UML:Association.connection>
        </UML:Association>
        <UML:Stereotype xmi.id="X.18" name="designModel" extendedElement="UMLModel.4"/>
      </UML:Namespace.ownedElement>
    </UML:Model>
    <UML:Model xmi.id="UMLModel.14" name="Implementation Model" visibility="public" isSpecification="false" namespace="UMLProject.1" isRoot="false" isLeaf="false" isAbstract="false">
      <UML:Namespace.ownedElement>
        <UML:Stereotype xmi.id="X.19" name="implementationModel" extendedElement="UMLModel.14"/>
      </UML:Namespace.ownedElement>
    </UML:Model>
    <UML:Model xmi.id="UMLModel.15" name="Deployment Model" visibility="public" isSpecification="false" namespace="UMLProject.1" isRoot="false" isLeaf="false" isAbstract="false">
      <UML:Namespace.ownedElement>
        <UML:Stereotype xmi.id="X.20" name="deploymentModel" extendedElement="UMLModel.15"/>
      </UML:Namespace.ownedElement>
    </UML:Model>
  </UML:Namespace.ownedElement>
</UML:Model>
</XMI.content>
</XMI>
s'il vous plait j'attends vos aides. c'est urgent pour moi et je fais le maximum possible pour comprendre la situation mais comment le faire en code j'ai pas réussi par ce que je suis débutante en java
Merci beaucoup