我希望有人可以就我遇到的 xslt 问题提供一些指导。我将通用 XML 消息接收到代理服务中,然后我需要将 xml 包装在肥皂消息中并将其转发到axis2 jms 服务。
我已经使用 saxon 和 xalan 引擎针对我的 xml 测试了 stylehseet,它们都按预期工作,但 wso2 不会接受它我收到错误 WstxParsingException: String ']]>' not allowed in text content if I have the CDATA section (我需要)。
任何建议将不胜感激谢谢保罗
样式表如下
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:klr="http://klr.com">
<xsl:output method="xml" indent="yes" encoding="UTF-8" cdata-section-elements="klr:legaldocument"/>
<xsl:template match="/">
<SOAP-ENV:Envelope xmlns:SOAP-ENV="http://schemas.xmlsoap.org/soap/envelope/" xmlns:klr="http://klr.com">
<SOAP-ENV:Body>
<klr:Hypertext>
<klr:legaldocument>
<xsl:text disable-output-escaping="yes"><![CDATA[</xsl:text>
<xsl:apply-templates select="*"/>
<xsl:text disable-output-escaping="yes">]]></xsl:text>
</klr:legaldocument>
</klr:Hypertext>
</SOAP-ENV:Body>
</SOAP-ENV:Envelope>
</xsl:template>
<xsl:template match="node()">
<xsl:element name="{local-name(.)}">
<xsl:copy-of select="@*"/>
<xsl:apply-templates select="node()|*"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>