2013-12-18 18 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())"/> 
相關問題