Bonjour,
Je souhaiterai fusionner 2 éléments différent, pour faire simple voici un exemple:
xml d'entrée:
Et je souhaiterai obtenir ceci:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
Cet exemple illustre mon besoin, techniquement le fichier est plus complexe, vous vous en doutez .
Code : Sélectionner tout - Visualiser dans une fenêtre à part
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>
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
Partager