Hi,
we are receiving a xml message from IBM MQSeries via WmMQAdapter (6.5) ListenerNotification without namespace prefix.
As we need these namespace prefixes for further processing of the data we are adding them with a very simple xslt transformation.
I have tested this on both my enviroments now and on 9.5 it is working as expected and on 9.12 it is failing with some “invalid xml message”:
[XSL.0002.9002] JAXP: Error during transformation - The processing instruction target matching "[xX][mM][lL]" is not allowed.; Line#: 1; Column#: 7
Both instances are using the same xslt defintion file as follows:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:tns="http://xxx" xmlns:soap-env="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="*">
<xsl:element name="tns:{local-name()}">
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
<xsl:template match="soap-env:*">
<xsl:element name="soap-env:{local-name()}">
<xsl:copy-of select="@*"/>
<xsl:apply-templates/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
This transformation file is used with Built-In-Service pub.xslt.Transformations:transformSerialXML.
So tags without namespace prefix will be prefixed with “tns:” and those with “soap-env:” will/should retain this “soap-env:” prefix.
Were there any changes in WmXSLT package between 9.5 and 9.12 which might affect this behaviour?
wM 9.12 has quite recent fixes applied, wM 9.5 is a bit behing regarding fixes.
Any ideas or suggestions are welcome.
Regards,
Holger