Search code examples
namespaceswebspheresoaibm-datapower

Datapower extension functions and extension elements


I am currently involved into Websphere Datapower SOA appliance development. However I am getting confused between two entities. Datapower extension functions and elements.

Can someone tell me what is main difference between the two and why in Datapower extension function namespace we only give:

xmlns:dp="http://www.datapower.com/extensions"

while in Datapower extension elements we mention the following:

xmlns:dp="http://www.datapower.com/extensions"
extension-element-prefix="dp"
exclude-result-prefix="dp"

Solution

  • Datapower uses XSLT to manipulate any part of incoming/outgoing message. Now while implementing this feature it was realized that XSLT functions needs to be enhanced to support the particular processing need of datapower. As a result datapower extended the XSLT function library, in some cases extending existing functions [like xsl:message] and in other cases adding new elements [like dp:set-response-header] to XSLT library. As a pre-requisite to do this, one needs to define a namespace for this extended library and hence the new datapower namespace.