How to remove namespaces
Learn how to remove namespaces.
CRM.interface requests have to be namespace-neutral. Requests containing namespaces are therefore ignored:
<Biztalk:request xmlns:Biztalk="urn:COMPANYMAME/CRM/U7COMPANYIN">
<status/>
</Biztalk:request>
<Biztalk:request xmlns:Biztalk="urn:COMPANYMAME/CRM/U7COMPANYIN">
<status/>
</Biztalk:request>
In case a client uses namespaces in its requests you may remove these namespaces via adoption of the stylesheets in your command lists.
- modify your in.xslt (search for "Biztalk" to find differences to the out-of-the-box stylesheet) as sketched in the sample below.
- add an additional style sheet (in this sample namespace_remover.xslt) to your command list. This new style sheet might look like the sketch below.
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:msxsl="urn:schemas-microsoft-com:xslt"
xmlns:var="urn:var"
xmlns:user="urn:user"
xmlns:syncml="SYNCML:SYNCML1.1"
xmlns:Biztalk='urn: COMPANYMAME/CRM/U7COMPANYIN'
exclude-result-prefixes="msxsl var user syncml Biztalk"
version="1.0">
<xsl:output method="xml" omit-xml-declaration="yes"/>
<xsl:template match="/request|/syncml:SyncML">
<root>
<com obj='$preload' func='XMLProcess'>
<par val='$xmldom'/>
</com>
</root>
</xsl:template>
<xsl:template match="/Biztalk:request">
<root>
<xslt>namespace_remover.xslt</xslt>
<com obj='$preload' func='XMLProcess'>
<par val='$xmldom'/>
</com>
</root>
</xsl:template>
<!-- ... -->
</xsl:stylesheet>