Bonjour,
Je suis sur un projet dans lequel des classes sont converties en XML avec XMLBeans
Ces xml ont donc la structure
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
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>
Le nombre de lien pouvant être très important, on me demande pour des raisons de lisibilité de les placer avec les autres liens...
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>
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 :
Classe fille :
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>
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>
Partager