Звучит так, будто вы хотите скопировать только комментарии из входного XML.И вы говорите, что ваша таблица стилей копирует одни комментарии, но не другие?Когда вы говорите «комментарии, которые находятся в родительском узле», вы имеете в виду комментарии, которые являются дочерними элементами корневого узла (то есть вне всех элементов)?
Когда я пытаюсь использовать эту таблицу стилей, она работает нормально.В частности, 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>
, работающий с вводом
<?xml version="1.0" encoding="UTF-8"?>
<!-- foo -->
<a>
<!-- bar -->
<b>
<c><!-- baz --></c>
</b>
</a>
, дает вывод
<?xml version="1.0" encoding="utf-8"?>
<comments>
<comment> foo </comment>
<comment> bar </comment>
<comment> baz </comment>
</comments>
Если это не то поведение, которое вы хотели, или если вашене работает с вашим вводом, можете ли вы опубликовать всю таблицу стилей и образец входного XML, и показать текущий вывод?И какой процессор XSLT вы используете?