У меня есть XML, как это,XSLT - определить узел с последующим другим узлом
<doc>
<p>para<x>para</x>para<x>para</x>para</p>
<p>para<x>para</x><x>para</x>para</p>
</doc>
мне нужно добавить «» между <x>
узлов, если пара <x>
размещены последовательно (<x>
следует другой <x>
узел) ,
так, для вышеприведенного примера XML, вывод должен быть,
<doc>
<p>para<x>para</x>para<x>para</x>para</p>
<p>para<x>para</x>,<x>para</x>para</p>
</doc>
Я попытался написать XSL шаблон FO идентификации последовательных <x>
отмечены и добавил '' следующим образом,
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="x[following-sibling::*[1][self::x]]">
<x>
<xsl:apply-templates/>
</x>
<xsl:text>,</xsl:text>
</xsl:template>
но он добавляет «,» к указанным выше сценариям. (<x>
, а затем еще один узел <x>
и <x>
, за которым следует текст)
Любая идея исправить это xpath?