Вы выводите пробелы из-за того, как вы отформатировали XML. Вы можете исправить это двумя способами. Один из них - просто удалить форматирование:
<xsl:for-each select="valueinElement"><xsl:value-of select="@attributeValue"/>,</xsl:for-each>
Другой, более надежный способ - изменить способ обработки пробелов:
<xsl:for-each select="valueinElement">
<xsl:value-of select="@attributeValue"/>
<xsl:text>,</xsl:text>
</xsl:for-each>
То, что это делает, обрабатывает только запятую как элемент, так что она игнорирует окружающие пробелы, вместо того, чтобы обрабатывать все пробелы внутри цикла for-each
как часть вывода.
Для справки я запустил приведенные выше фрагменты XSLT для следующего XML-файла:
<root>
<valueinElement attributeValue="dogs"/>
<valueinElement attributeValue="cats"/>
<valueinElement attributeValue="mice"/>
<valueinElement attributeValue="lasers"/>
<valueinElement attributeValue="frogs"/>
</root>
И получил следующий вывод в обоих случаях:
dogs,cats,mice,lasers,frogs