Преобразовать XML в разделенный запятыми так же, как и любое другое преобразование.Следующее воспроизводит поля «как есть», если только они не находятся в одинаковом порядке в каждом ПРОДУКТЕ, который необходимо обработать до сих пор.Пример поможет вам начать:
<xsl:output method="text"/>
<xsl:template match="//PRODUCT">
<xsl:value-of select="@ITEM" />
<xsl:text>,</xsl:text>
<xsl:apply-templates select="./*" />
<xsl:text>
</xsl:text>
</xsl:template>
<xsl:template match="PRODUCT/*">
<xsl:value-of select="translate(text(), ',', '@')" />
<xsl:text>,</xsl:text>
</xsl:template>
Кстати, �A;
добавляет новую строку, для дос / окон вам может понадобиться добавить также �D;
.
Обновление : запятые в значениях можно экранировать, заменив их другим символом с помощью функции translate()
.