There will be an issue in XPATH handling in content modifier/Router/Filter when there is namspace (like ns2:) for all the fields.
To remove all the namespace in the XML payload, use the below XSLT mapping code:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="xml" version="1.0" encoding="UTF-8" />
<xsl:template match="*">
<xsl:element name="{local-name()}" >
<xsl:apply-templates select="@* | node()"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
To remove all the namespace in the XML payload, use the below XSLT mapping code:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"><xsl:output method="xml" version="1.0" encoding="UTF-8" />
<xsl:template match="*">
<xsl:element name="{local-name()}" >
<xsl:apply-templates select="@* | node()"/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
(or)
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output indent="yes" method="xml" encoding="utf-8" omit-xml-declaration="yes"/>
<!-- Stylesheet to remove all namespaces from a document -->
<!-- NOTE: this will lead to attribute name clash, if an element contains
two attributes with same local name but different namespace prefix -->
<!-- Nodes that cannot have a namespace are copied as such -->
<!-- template to copy elements -->
<xsl:template match="*">
<xsl:element name="{local-name()}">
<xsl:apply-templates select="@* | node()"/>
</xsl:element>
</xsl:template>
<!-- template to copy attributes -->
<xsl:template match="@*">
<xsl:attribute name="{local-name()}">
<xsl:value-of select="."/>
</xsl:attribute>
</xsl:template>
<!-- template to copy the rest of the nodes -->
<xsl:template match="comment() | text() | processing-instruction()">
<xsl:copy/>
</xsl:template>
</xsl:stylesheet>
Input:
<?xml version="1.0" encoding="UTF-8"?>
<ns2:MT_TOnlineBookResponseDetails xmlns:ns2="urn:electrolux.com">
<BookSuccessfully>true</BookSuccessfully>
<ErrorCode>0</ErrorCode>
</ns2:MT_TOnlineBookResponseDetails>
Output:
<?xml version="1.0" encoding="UTF-8"?>
<MT_TOnlineBookResponseDetails>
<BookSuccessfully>true</BookSuccessfully>
<ErrorCode>0</ErrorCode>
</MT_TOnlineBookResponseDetails>
No comments:
Post a Comment