Essayer quelque chose de farfelu en nettoyant du XML détaillé, c'est-à-dire supprimer tous les nœuds vides de manière récursive. A cet effet, je considère qu'un nœud est "vide" s'il a (a) pas de nœuds enfants, (b) un contenu uniquement blanc, (c) uniquement des nœuds enfants "vides". C'est, je considère ce qui suit pour être « vide » parce que toutes les feuilles sont vides/espaces blancs uniquement nœuds:XSL Ignorer les enfants vides de façon récursive
<foo>
<bar>
<baz/>
</bar>
<quux> </quux>
</foo>
J'ai essayé d'utiliser <xsl:if test="child::node()">
dans mes modèles, mais cela ne semble pas fonctionner. Il est tout à fait possible que la réponse soit "marchez l'arbre vous-même, idiot", mais il semble que le genre de chose que XSL devrait être capable de faire?
Je me attends
<foo>
<bar>
<baz/>
</bar>
<quux> </quux>
<quuux>Actual content</quuux>
</foo>
revenir comme
<foo>
<quuux>Actual content</quuux>
</foo>
avec ce filtre je pense.
+1. P.S .: Voir la réponse de @ santiiiii, il souligne validement quelques problèmes mineurs dans le vôtre. – Tomalak
Corrigé en conséquence. –
Merci. Ceci, avec la correction de Santiiii, est ce que je voulais. – UltraNurd