Ha! Ha! J’ai trouvé le bug.
Dans <exsl:document/>, si j’écris <xsl:apply-templates/>, ou si j’appelle un template qui contient <xsl:apply-templates/>, il applique tous les templates de la feuille de style. D’où le résultat étrange…
J’utilise la fonction document() et l’extension <exsl:document/>, pour écrire une feuille de styles multi-input et multi-output.
Ainsi, j’utilise dans mon template principal:
<xsl:for-each select="document($SourceFilePath)">
$SourceFilePath étant une variable, il peut représenter plusieurs documents en input.
Puis à l’intérieur:
1 2 3
| <exsl:document href="{$ResultFilePath}">
<!-- ??? -->
</exsl:document> |
Le code pour transformer chacun des inputs en output.
D’après la documentation: «Le contenu de <exsl:document/> est un template».
Toute la question est de savoir comment ajouter ou retrancher un nœud dans ces conditions, sans modifier le reste.
Merci de tes réponses, elle m’aide à mieux comprendre mon problème.
Partager