dp:сериализовать и экранировать на ibm datapower

У меня есть проект, в котором мне нужно двоично-64-кодировать xml-файл и поместить его в другой xml. Чтобы заставить это работать, я сначала сериализую xml с помощью dp:serialize, а затем использую dp:binary-encode для результирующей переменной из этого. Это отлично работает, за исключением того, что все скандинавские символы экранируются. åäö становится åäö, когда я декодирую результат.

Есть идеи? Я пробовал использовать dp:escaping="minimum" в выходном теге (влияет ли тег xsl:output на dp:serialize?) и ряд других вариантов. Распечатав сериализованный результат перед его двоичным кодированием 64, я увидел, что экранирование добавляется при вызове dp:serialize.

Можно ли сериализовать без выхода на мощность данных?


person user3115088    schedule 18.12.2013    source источник


Ответы (1)


Я не думаю, что вы можете сериализоваться без экранирования. Экранирование DataPower, например. «disable-output-escaping» влияет только на контекст OUTPUT, а не на «встроенный» XML...

Я думаю, вы должны обрабатывать его как двоичные данные и получать «нетронутый» файл XML из /object/message/node().

Поскольку двоичный узел не является «xml», вы можете сразу его закодировать:

<xsl:variable name="xmlInBase64" select="dp:binary-encode(/object/message/node())"/>
person Anders    schedule 27.02.2014