Добавить CDATA к значению узла в цикле - PullRequest
0 голосов
/ 13 декабря 2018

** Обновлен вывод ** Я пытаюсь добавить

1 Ответ

0 голосов
/ 13 декабря 2018

Вот упрощенный пример:

XML

<input>
    <item/>
    <item/>
    <item/>
</input>

XSLT 1.0

<xsl:stylesheet version="1.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes" cdata-section-elements="Value"/>
<xsl:strip-space elements="*"/>

<xsl:template match="/input">
    <output>
        <xsl:for-each select="item">
            <DataPoint>
                <Name>
                    <xsl:value-of select="concat('Carrier.Requirements', position())"/>
                </Name>
                <Value>Here is the response text</Value>
            </DataPoint>
        </xsl:for-each>
    </output>
</xsl:template>

</xsl:stylesheet>

Результат

<?xml version="1.0" encoding="utf-16"?>
<output>
  <DataPoint>
    <Name>Carrier.Requirements1</Name>
    <Value><![CDATA[Here is the response text]]></Value>
  </DataPoint>
  <DataPoint>
    <Name>Carrier.Requirements2</Name>
    <Value><![CDATA[Here is the response text]]></Value>
  </DataPoint>
  <DataPoint>
    <Name>Carrier.Requirements3</Name>
    <Value><![CDATA[Here is the response text]]></Value>
  </DataPoint>
</output>

Демо : https://xsltfiddle.liberty -development.net / 94hvTAn

...