Bonjour,

Je suis sur un projet dans lequel des classes sont converties en XML avec XMLBeans

Ces xml ont donc la structure
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<TypeObjet id="idObjet">
   <numberObjet>toto</numberObjet>
   ...
   <Lien1>...</Lien1>
   <Lien2>...</Lien2>
</TypeObjet>
<TypeObjet id="idObjet2">
   <numberObjet>toto2</numberObjet>
   ...
   <Lien1>...</Lien1>
   <Lien2>...</Lien2>
</TypeObjet>
Jusque là tout va bien... Le problème c'est que j'ai mis en place dans la XSD qui servait à gérérer les classes un bête système d'héritage, mais qui fait que maintenant, tous les liens appartenant à la classe mère se retrouve en haut de la balise TypeObjet :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
 
<TypeObjet id="idObjet">
   <NouveauLien1>...</NouveauLien1>
   <NouveauLien2>...</NouveauLien2>
   <numberObjet>toto</numberObjet>
   ...
   <Lien1>...</Lien1>
   <Lien2>...</Lien2>
</TypeObjet>
Le nombre de lien pouvant être très important, on me demande pour des raisons de lisibilité de les placer avec les autres liens...

Y a t'il un moyen de générer les éléments de la classe mère à la fin de la balise plutôt qu'au début ou dois je abandonner mon système d'héritage ( ça m'ennuirai d'avoir à dupliquer du code un bon paquet de fois juste pour un détail comme ça )?

La xsd qui est utilisée pour générer mon jar XMLBeans définit l'héritage comme ceci :

Classe mère :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
 
<xs:complexType name="PartDocLinkable">
         <xs:sequence>
            <xs:element name="linkDocumentProjet" type="Link"  minOccurs="0" maxOccurs="unbounded"/>
            <xs:element name="linkDocumentMaterial" type="Link"  minOccurs="0" maxOccurs="unbounded"/>
         </xs:sequence>
</xs:complexType>
Classe fille :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
 
<xs:complexType name="PieceStruct">
	   <xs:complexContent>
   		<xs:extension base="PartDocLinkable">
			<xs:sequence>
			   <xs:element name="repere" type="noEmptyElement" minOccurs="1"/>
                                     ...
                                  </xs:sequence>
		   <xs:attribute name="id" type="noEmptyElement" use="required"/>
   		</xs:extension>
 
   	</xs:complexContent>
</xs:complexType>