Message Processing
The mp (Message Processing) execution engine provides access to the current request and response (up to the previous command) using standard XPath queries in a pseudo document with top-level element <root>, henceforth called the mp document.
Whenever an expression (e.g. an XPath from a test or select attribute) is evaluated, it is done so against the mp document. When processing starts, the mp document provides access to the XML request. After processing a command, its response is available for all successive commands.
CRM.interface includes elements for flow control and expression evaluation that are loosely based on XSLT, but naturally are implemented separately. All mp commands reside in their own namespace.
<mp:choose>
Provides multiple condition testing in conjunction with the
<mp:when>
and <mp:otherwise>
elements.
<mp:choose /> |
|
---|---|
Attributes |
(no attributes) |
Contents |
<mp:when> + <mp:otherwise>? |
May occur in |
<request> (any table) |
Remarks |
none |
<mp:for-each>
<mp:for-each>
allows repeated execution of a command.
<mp:for-each> | |
---|---|
Attributes |
select |
Contents |
(any command) |
May occur in |
<request> |
Remarks |
none |
<mp:if>
Allows conditional XML fragments.
<mp:if /> |
|
---|---|
Attributes |
test |
Contents |
(any command) (any field) |
May occur in |
<request> (any table) |
Remarks |
none |
<mp:otherwise>
Provides multiple condition testing in conjunction with the
<mp:choose>
and <mp:when>
elements.
<mp:otherwise /> |
|
---|---|
Attributes |
(no attributes) |
Contents |
(any command) (any field) |
May occur in |
<mp:choose> |
Remarks |
none |
<mp:value-of>
Provides for expression evaluation, variable resolution, and XPath selection.
<mp:value-of /> |
|
---|---|
Attributes |
eval resolve select |
Contents |
(no content) |
May occur in |
(any field) (any mp content) |
Remarks |
none |
<mp:when>
Provides multiple condition testing in conjunction with the
<mp:choose>
and <mp:otherwise>
elements.
<mp:when /> |
|
---|---|
Attributes |
test |
Contents |
(any command) (any field) |
May occur in |
<mp:when> |
Remarks |
none |