Здравствуйте, VB_Coder, Вы писали:
VB_>Есть вот такой XML
VB_>VB_><a>
VB_> Пример текста, пример текста, пример текста, пример текста.
VB_> <b>
VB_> Вот еще немного текста, вложенного в другой тег.
VB_> </b>
VB_></a>
VB_>
VB_>Задача такая, нужно символ "," заменить везде на "<c/>,"
VB_>Использовал шаблон для замены текста из книги Валикова, но ничего хорошего не вышло.
VB_>Дело в том, что у меня в символ запятой встречается во вложенном теге,
VB_>а функция substring-before убирает все теги в переданной ей строке.
Здесь нужно обрабатывать text() отдельно, следует использовать такой шаблон:
<xsl:template select="@*|*">
<xsl:copy>
<xsl:apply-templates select="text()|@*|*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="text()">
<xsl:apply-templates select="." mode="replace">
<xsl:with-param name="..." select="..."/>
...
</xsl:apply-templates>
</xsl:template>