Converting a legacy message map that includes ESQL mapping functions
When you convert a legacy message map that includes ESQL mapping functions, the conversion process converts some ESQL functions to equivalent XPath 2.0 functions (fn:functionName), or to cast type functions (xs:type). A Task transform is added to your converted map when there is no automatic conversion for an ESQL function.
Before you begin
esql:coalescecalls, check that the format of the calls can be converted; see Limitations on the conversion of esql:coalesce calls.
Check the conversion process behavior when you convert a legacy message map to a message map that includes ESQL mapping functions:
- When a legacy message map includes
calls to predefined ESQL mapping functions, each ESQL function
call is converted to an XPath expression, cast type function,
or to a Custom XPath transform in the
converted map. For each expression, xs:type function,
or Custom XPath transform in the converted
map, complete the following steps:
- Check that the expression, xs:type function,
or Custom XPath transform re-creates
the required behavior.
If your ESQL mapping function has optional input parameters, you must implement conditions to handle this situation. By default, the conversion process assumes that all input parameters are mandatory.
- For each expression, xs:type function,
or transform, check that the correct number of inputs is connected.
In earlier releases of WebSphere® Message Broker Version 8, the number of inputs wired to a transform and required to implement a transformation in a legacy message map was not enforced. When the Graphical Data Mapping editor converts a transform that includes an ESQL mapping function, it creates an XPath function that conforms to the XPath 2.0 specification, and wires the input elements to the transform as defined in the legacy message map. As a result, a converted map might have more inputs than the XPath expression requires, or less inputs than the ones required to perform the calculation. Consequently, the converted map will fail to run when you deploy it.
- Check that the expression, xs:type function, or Custom XPath transform re-creates the required behavior.
- If there is no XPath equivalent of an ESQL mapping function,
the function is replaced with a Task transform
in your converted map. You must replace each of these Task transforms
with a Custom XPath transform, a Custom
Java transform, or a Custom ESQL transform
that re-creates the required behavior.
- Check the Documentation properties of the transform in the converted map for more information on how the ESQL function was implemented in your legacy message map.
The following ESQL mapping functions that you can use in a legacy message map have no XPath equivalent in message maps:
- Certain mathematical functions:
- Decimal function:
- Certain String functions:
- TRIM-BOTH( Singleton FROM Source )
The simple form TRIM-BOTH ( Source ) is converted.
- Certain field functions:
- Certain date time functions:
- All INTERVAL- functions
- The ESQL LIKE function
- The ESQL FOLLOWING form of the ESQL POSITION function
- All SQL functions
- The UUIDASCHAR and UUIDASBLOB functions
What to do next
Continue converting your legacy message map. For more information, see Converting a message map from a .msgmap file to a .map file.