[xslt] Suppression des éléments sans contenu.
Je souhaiterais supprimer par une transformation XSL tous les noeuds dont ni eux-mêmes, ni leurs descendants, ne contiennent de noeuds texte, ou de valeurs d'attributs.
Exemple source :
<racine>
<element1>
<element1a />
<element1b attribut="" />
</element1>
<element2>
<element2a />
<element2b attribut="" />
<element2c attribut="une valeur" />
<element2d>Texte</element2c>
<element2>
</racine>
Exemple résultat après transformation
<racine>
<element2>
<element2c attribut="une valeur" />
<element2d>Texte</element2c>
<element2>
</racine>
Merci pour votre aide.
[xslt] Suppression des éléments sans contenu.
Au temps pour moi, j'ai commis deux étourderies dans mon XML, les développeurs expérimentés auront corrigé d'eux-mêmes.
1 - Oui, je connais le XML, et bien plus que les bases.
2 - Le seul XSL dont j'ai besoin, c'est celui qui permet d'obtenir la transformation indiquée ci-dessous.
Je souhaiterais supprimer par une transformation XSL tous les noeuds dont ni eux-mêmes, ni leurs descendants, ne contiennent de noeuds texte, ou de valeurs d'attributs.
Exemple source :
<racine>
<element1>
<element1a />
<element1b attribut="" />
</element1>
<element2>
<element2a />
<element2b attribut="" />
<element2c attribut="une valeur" />
<element2d>Texte</element2d>
</element2>
</racine>
Exemple résultat après transformation
<racine>
<element2>
<element2c attribut="une valeur" />
<element2d>Texte</element2d>
</element2>
</racine>
[xslt] Suppression des éléments sans contenu.
Merci beaucoup GrandFather, voici une réponse très pertinente, et précieuse.
J'ai testé immédiatement ce code et j'obtiens :
<racine>
<element2>
<element2c attribut="une valeur"></element2c>
<element2d></element2d>
</element2>
</racine>
au lieu de :
<racine>
<element2>
<element2c attribut="une valeur"></element2c>
<element2d>Texte</element2d>
</element2>
</racine>
La valeur ("une valeur") de l'attribut "attribut" est préservée, mais la valeur ("Texte") de l'élément "element2d" n'a pas été copiée. Pourrais-je avoir un indice sur le moyen de conserver le contenu des éléments ?
Merci encore.