I used the jsr-94 API to create a StatelessRuleSession, registered the rule.xml file which I attached and fed in the strings "hello" and "world" as in-params.
Although I declared the two rules within the attached file to belong to the same xor-group, both rules get fired upon execution:
output of my test-application:
[java] Starting Application
[java] URL for rule file file:///C:\dev\projects\rule-test/meta/rules.xml
[java] Service provider created
[java] Ruleset registered
[java] rule sesssion created
[java] Rule ONE fired.
[java] Rule TWO fired.
To my understanding, only rule ONE should be fired because both rules belong to the same XOR-group. Maybe I'm missing something but I also ran tests using the xor-group attribute in combination with other attributes like salience, no-loop etc. but couldn't produce the desired effect of mutually exclusive rules.
It seems to be a copy/paste bug in line 159 where the "ruleDesc" value is used to initialize the XorGroup of the java "rule" object.