Fusion de deux nodes différentes
Bonjour,
Je souhaiterai fusionner 2 éléments différent, pour faire simple voici un exemple:
xml d'entrée:
Code:
1 2 3 4 5 6 7 8 9 10
| <MesData>
<homme name="Dupont" prénom="Alain"/>
<homme name="Felix" prénom="Minou"/>
<homme name="Pi" prénom="Joe"/>
</MesData>
<Anciennete>
<Information id="Dupont" age="27"/>
<Information id="Felix" age="4"/>
</Anciennete> |
Et je souhaiterai obtenir ceci:
Code:
1 2 3 4 5
| <Fusion>
<homme name="Dupont" prénom="Alain" age="27"/>
<homme name="Felix" prénom="Minou" age="4"/>
<homme name="Pi" prénom="Joe"/>
</Fusion> |
Cet exemple illustre mon besoin, techniquement le fichier est plus complexe, vous vous en doutez ;).
Donc, les éléments MesData et Anciennete sont dans 2 XPath différent, ils ne sont pas au même niveau. Le fichier d'entrée est non-modifiable, fourni par un tiers.
Les attributs @name et @id font office de clés.
Donc déjà, est-ce que c'est possible et réaliste avec xslt? (est-ce le bon outil?)
Et sinon pour ma part, j'étudie 3 options:
- passer par des variables (je galère et pour le moment chou blanc mais aujourd'hui je continue sur cette option),
- trouver un moyen natif (pas encore trouvé),
- passé par un xml intermediaire: mettre les infos au même niveau et essayer de simplifier la fusion.
Je suis novice sur le xslt, pourriez-vous m'orienter sur la solution la plus convenable? Et j'ai peut-être rater d'autre option.
Merci à vous