无法使用xsl transform将CDATA附加到xml元素内容

时间:2012-08-22 11:33:42

标签: xslt bpel

我正在使用bpel复合,在复合中我使用中介组件,并且我使用xsl将传入的有效载荷数据转换为出站有效载荷。我有一个要求,我需要附加到出站模式中的一个xml元素。 我尝试在.xsl文件中使用以下代码:

<ns1:request>
        <xsl:text disable-output-escaping="yes">&lt;![CDATA[</xsl:text>
        <xsl:value-of disable-output-escaping="yes" select="/imp1:error-event-payload/imp1:error-payload"/>
        <xsl:text disable-output-escaping="yes">]]&gt;</xsl:text>
      </ns1:request>

但这不会产生<request><![CDATA somedata ]]> </request>的输出。 有什么方法可以用CDATA部分转换xml元素。

1 个答案:

答案 0 :(得分:1)

CDATA部分是您可以使用

指定的序列化选项
<xsl:output cdata-section-elements="ns1:request"/>

只有当您的XSLT处理器或工具链将结果树序列化为文件时,才会有效,而不是传递结果树(例如DOM树或XPath / XSLT树实现)。