One of the key characteristics of the RuleBase is its ability to make decisions based on the contents of the FactBase. The FactBase initially starts life as an incoming XML message and gets altered during the execution of the business rules. As long as the incoming messages pass through preliminary screening processes, any well-formed XML document can be received. Arbitrary XPath expressions can then be used to construct rules based on the content of the incoming message. This approach provides flexibility in the way messages are handled.
For example, in some situations it may be necessary to interrogate only a single element in the incoming message to determine the action to perform, such as when SOAP messages are exchanged between private agents where the message formats are well defined. In other situations, especially where the format of the incoming message may not be known prior to receipt but still requires handling, a more sophisticated set of rules may be more appropriate. For example, rules can be defined to search for a combination of elements in arbitrary positions to decide on the nature of the document content. This can be taken to extremes to develop business rules (logicsheets) that can look for abstract patterns in the incoming data to determine the nature of the request and handle it appropriately.