Il semble que vous voulez copier seulement les commentaires de l'entrée XML. Et vous dites que votre feuille de style copie certains commentaires mais pas d'autres? Lorsque vous dites "commentaires qui sont dans le nœud parent", voulez-vous dire les commentaires qui sont des enfants du nœud racine (c'est-à-dire en dehors de tous les éléments)? Lorsque j'essaie cette feuille de style, cela fonctionne très bien. Plus précisément, le XSLT
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:template match="/">
<comments>
<xsl:for-each select="//comment()">
<comment><xsl:value-of select="."/></comment>
</xsl:for-each>
</comments>
</xsl:template>
</xsl:stylesheet>
course contre l'entrée
<?xml version="1.0" encoding="UTF-8"?>
<!-- foo -->
<a>
<!-- bar -->
<b>
<c><!-- baz --></c>
</b>
</a>
donne la sortie
<?xml version="1.0" encoding="utf-8"?>
<comments>
<comment> foo </comment>
<comment> bar </comment>
<comment> baz </comment>
</comments>
Si ce n'est pas le comportement que vous vouliez, ou si le vôtre ne fonctionne toujours pas sur votre entrée, pouvez-vous poster votre feuille de style entière et un échantillon de votre XML d'entrée, et montrer ce que la sortie actuelle est? Aussi quel processeur XSLT utilisez-vous?
vous pouvez éditer votre question. J'ai fourni une solution qui correspond aux exigences et clarifications dans vos commentaires. –