Объединение * в XSLT

У меня есть ввод, как показано ниже:

У меня есть требование, когда мне нужно объединить все значения в приведенном ниже вводе со знаком * и получить соответствующий

Входной XML:


<Root>
    <DBCallOutput>
        <ATTRIBUTE6>IN10</ATTRIBUTE6>
    </DBCallOutput>
    <DBCallOutput>
        <ATTRIBUTE6>IN11</ATTRIBUTE6>
    </DBCallOutput>
    <DBCallOutput>
        <ATTRIBUTE6>IN12</ATTRIBUTE6>
    </DBCallOutput>
    <DBCallOutput>
        <ATTRIBUTE6>IN13</ATTRIBUTE6>
    </DBCallOutput>
    <DBCallOutput>
        <ATTRIBUTE6>IN14</ATTRIBUTE6>
    </DBCallOutput>
    <DBCallOutput>
        <ATTRIBUTE6>IN17</ATTRIBUTE6>
    </DBCallOutput>
    <DBCallOutput>
        <ATTRIBUTE6>IN20</ATTRIBUTE6>
    </DBCallOutput>
    <DBCallOutput>
        <ATTRIBUTE6>IN21</ATTRIBUTE6>
    </DBCallOutput>
</Root>

Ожидаемый результат

<result> IN10* IN11* IN12* IN13* IN14* IN17* IN20* IN21</result>

Может ли кто-нибудь помочь в этом


person srinivas kalyan    schedule 23.03.2017    source источник
comment
Выберите либо XSLT 1.0, либо XSLT 2.0, а не оба варианта одновременно.   -  person michael.hor257k    schedule 23.03.2017
comment
Вы пробовали что-то?   -  person Maria Ivanova    schedule 23.03.2017


Ответы (2)


В XSLT 2.0 это тривиально:

<xsl:template match="/Root">
    <result>
        <xsl:value-of select="DBCallOutput/ATTRIBUTE6" separator="* "/>
    </result>
</xsl:template>

Чтобы добиться того же в XSLT 1.0, используйте:

<xsl:for-each select="DBCallOutput">

и выведите значение ATTRIBUTE6, а затем:

<xsl:if test="position()!=last()">* </xsl:if>
person michael.hor257k    schedule 23.03.2017

person    schedule
comment
Это генерирует желаемый результат, как вы хотите. - person Gurusen Yadav; 23.03.2017
comment
Зачем повторяете уже данный ответ? И здесь, и в: stackoverflow.com/a/42850220/3016153 - person michael.hor257k; 23.03.2017
comment
привет @ michael.hor257k Сегодня я пытаюсь ответить на другой вопрос, но не могу найти решение. Не могли бы вы помочь в вопросе elemen" title="в xslt у меня есть требование, например добавить всю сумму mspfee в элемент счета-фактуры"> stackoverflow.com/questions/43138468/ - person srinivas kalyan; 31.03.2017