我正在使用xslt 2.0进行转换。我想改变波纹管线。
<ResultInfo><![CDATA[Concurrent processing error! <> & Test.]]></ResultInfo>
我正在使用波纹管转换逻辑,
<xsl:template match="ResultInfo">
<xsl:element name="ltc:{local-name()}">
<xsl:value-of select="normalize-space(.)"/>
</xsl:element>
</xsl:template>
当我运行这个逻辑时,我得到波纹管输出,
<ltc:ResultInfo>Concurrent processing error! <> & Test.</ltc:ResultInfo>
但我想转移“CDATA”。请建议我如何保存“CDATA”。
答案 0 :(得分:1)
您无法“保留”CDATA,无论何时在输入中使用CDATA进行输出,您都可以在输出某些元素的文本节点子元素时请求序列化程序使用CDATA部分:
<xsl:output method="xml" cdata-section-elements="ltc:ResultInfo" />
这将使用CDATA序列化所有 ltc:ResultInfo
元素作为其文本内容,无论输入是使用CDATA还是纯文本。