4 votes

Transformation XSLT : Ajouter un texte fixe à la valeur d'un noeud existant

J'ai une connaissance de base de la transformation XSLT, mais j'ai du mal à résoudre le problème suivant :

Mon xml contient :

<fixednode1>do not transform me</fixednode1>
<fixednode2>do not transform me also</fixednode2>
<element1Label>1234</element1Label>
<element7Label>hello</element7Label>
<element9Label>bar</element9Label>

Je veux transformer l'ensemble du xml de sorte que, en dehors des 2 nœuds fixes, chaque valeur de nœud est précédée de son nom de nœud suivi d'un deux-points et d'un espace, comme ceci :

<fixednode1>do not transform me</fixednode1>
<fixednode2>do not transform me also</fixednode2>
<element1Label>element1Label: 1234</element1Label>
<element7Label>element7Label: hello</element7Label>
<element9Label>element9Label: bar</element9Label>

Il devrait de préférence s'agir d'une transformation générique - le xml contient parfois des noms de nœuds qui sont inconnus de la feuille de style. Seuls les 2 noeuds fixes resteront les mêmes, mais ils ne doivent pas être transformés, seulement conservés dans le résultat.

Je me suis débattu avec une déclaration "choisir, quand, sinon", mais je suis perdu pour le moment. Toute aide ou conseil serait apprécié.

Sincères salutations

Scrat

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X