The Variables section towards the bottom of the Rules Design screen displays all the Variables that are currently defined. Variables are additional XML documents that can be used to structure and organise your data during Rules processing. Variables are only temporary documents. They will always be empty when the controller starts processing, and any content within them will be destroyed as soon as the rules have finished.
You can add and remove variables using the features in this section.
When you wish to refer to a Variable in an XPath, you must use the name of the Variable preceded by a $
sign, e.g. $request
and $response
. This tells the engine to look in the appropriate Variables document rather than the main FactBase. For example, you may have a condition check XPath of $response/soap:Envelope/soap:Body[not(soap:Fault)]
to check for a successful SOAP response.
Whenever you want to perform processing that interacts with content in both a variable and the main FactBase, it is important to prefix the parts of your XPaths that check the FactBase with $factbase
in the same way as you do for variables. This is to provide clarity for the rules engine.