2013-12-18 20 views
4

我有一个需要对xml文件进行二进制64位编码并将其放入另一个xml的项目。为了得到这个工作,我首先使用dp:serialize序列化xml,然后在结果变量上使用dp:binary-encode。除了所有的斯堪的纳维亚字符都被转义之外,这个工作正常。当我解码结果时,åäö变为åäödp:在ibm数据电源上进行序列化和转义

任何想法?我试着用dp:escaping="minimum"输出标签(xsl:output标签是否影响dp:serialize?)和其他一些选项。通过在binary-64编码之前打印序列化的结果,我看到在调用dp:serialize时会添加转义。

是否可以序列化而不会在datapower上转义?

回答

2

我不认为你可以序列化没有逃脱。 DataPower转义,例如“disable-output-escaping”仅影响OUTPUT上下文而不影响“inline”XML ...

我认为您必须将其作为二进制数据处理,并从/ object/message/node中获取“未触及”的XML文件()。

由于二进制节点不是“XML”你可以对其进行编码,直客:

<xsl:variable name="xmlInBase64" select="dp:binary-encode(/object/message/node())"/> 
相关问题