Я пытаюсь воссоздать строковый набор значений в элементе как отдельные наборы узлов для каждого.
Пример XML:
<VALUES>
<VALUE>[example],[example1],[good,example],[test]</VALUE>
<VALUES>
XSLT:
<xsl:template name="SimpleStringLoop">
<xsl:param name="input"/>
<xsl:if test="string-length($input) > 0">
<xsl:variable name="v" select="substring-before($input, ',')"/>
<xsl:value-of select="$v"/>
<xsl:call-template name="SimpleStringLoop">
<xsl:with-param name="input" select="substring-after($input, ',')"/>
</xsl:call-template>
</xsl:if>
</xsl:template>
<xsl:template match="VALUE">
<xsl:call-template name="SimpleStringLoop">
<xsl:with-param name="input" select="."/>
</xsl:call-template>
<xsl:value-of select="substring-before(substring-after(.,'['),']')"/>
</xsl:template>
Ожидаемый результат:
<VALUES>
<VALUE>example</VALUE>
<VALUE>example1</VALUE>
<VALUE>good,example</VALUE>
<VALUE>test</VALUE>
<VALUES>
Мне удалось разделить запятыми. Я думаю, что также для каждого значения, считая запятые и создавая одинаковое количество элементов и записывая их, имеет смысл. Как избавиться от «[]» вокруг строк?