I’ve published two Microsoft Business Rules Engine-related articles today (nothing like a long weekend in a hotel).

Negation-as-Failure and the Microsoft Business Rules Engine
Negation can be a surprisingly problematic issue in the world of rules.   This article looks at one type of negation, generally referred to  as ‘negation as failure’ (NaF), and discusses the implications for the Microsoft Business Rules Engine (MS BRE).   In summary, we shall see that MS BRE fails to provide direct support for this type of negation, and as a consequence, the Microsoft Business Rule Language (MS BRL) is less expressive than it might otherwise be.   I also discuss a general approach to working around this lack of expressivity.

Using XPath to handling XML in the Microsoft Business Rules Engine
I’ve begun to lose count of the number of times I have been asked to troubleshoot issues with the rules engine only to find that the problem is a lack of understanding of how XML facts are manipulated in rules.   XPaths are used to map the hierarchical data model of an XML document onto the relational model used by MS BRE.   This mapping layer is vital, and is fully controllable by the rule developer.   In order to use MS BRE effectively over XML data, you need to ensure you understand how XPath is used alongside your rules.