rendered paste body<?xml version="1.0" encoding="UTF-8"?>
<package name="com.sample"
xmlns="http://drools.org/drools-4.0"
xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
xs:schemaLocation="http://drools.org/drools-4.0 drools-4.0.xsd">
<import name="java.util.HashMap" />
<import name="org.drools.*" />
<global identifier="x" type="com.sample.X" />
<global identifier="yada" type="com.sample.Yada" />
<function return-type="void" name="myFunc">
<parameter identifier="foo" type="Bar" />
<parameter identifier="bada" type="Bing" />
<body>
System.out.println("hello world");
</body>
</function>
<rule name="simple_rule">
<rule-attribute name="salience" value="10" />
<rule-attribute name="no-loop" value="true" />
<rule-attribute name="agenda-group" value="agenda-group" />
<rule-attribute name="activation-group" value="activation-group" />
<lhs>
<pattern identifier="person" object-type="Person" >
<or>
<and>
<field-constraint field-name="age">
<or>
<and>
<literal-restriction evaluator=">" value="60" />
<literal-restriction evaluator="<" value="70" />
</and>
<and>
<literal-restriction evaluator="<" value="50" />
<literal-restriction evaluator=">" value="55" />
</and>
</or>
</field-constraint>
<field-constraint field-name="hair">
<literal-restriction evaluator="==" value="black" />
</field-constraint>
</and>
<and>
<field-constraint field-name="age">
<literal-restriction evaluator="==" value="40" />
</field-constraint>
<field-constraint field-name="hair">
<literal-restriction evaluator="==" value="pink" />
</field-constraint>
</and>
<and>
<field-constraint field-name="age">
<literal-restriction evaluator="==" value="12"/>
</field-constraint>
<field-constraint field-name="hair">
<or>
<literal-restriction evaluator="==" value="yellow"/>
<literal-restriction evaluator="==" value="blue" />
</or>
</field-constraint>
</and>
</or>
</pattern>
<pattern identifier="foo3" object-type="Bar" >
<field-constraint field-name="a">
<or>
<literal-restriction evaluator="==" value="3" />
<literal-restriction evaluator="==" value="4" />
</or>
</field-constraint>
<field-constraint field-name="a3">
<literal-restriction evaluator="==" value="hello" />
</field-constraint>
<field-constraint field-name="a4">
<literal-restriction evaluator="==" value="null" />
</field-constraint>
</pattern>
<pattern identifier="foo4" object-type="Bar" >
<field-binding field-name="a" identifier="a4" />
<field-constraint field-name="a">
<literal-restriction evaluator="!=" value="4" />
<literal-restriction evaluator="!=" value="5" />
</field-constraint>
</pattern>
<pattern identifier="foo5" object-type="Bar" >
<field-constraint field-name="b">
<or>
<return-value-restriction evaluator="==" >a4 + 1</return-value-restriction>
<variable-restriction evaluator=">" identifier="a4" />
</or>
</field-constraint>
</pattern>
<pattern identifier="foo6" object-type="Bar" >
<field-binding field-name="a" identifier="a4" />
<field-constraint field-name="b">
<literal-restriction evaluator="==" value="6" />
</field-constraint>
</pattern>
<pattern identifier="foo7" object-type="Bar" >
<field-binding field-name="a" identifier="a4" />
<field-binding field-name="b" identifier="b4" />
</pattern>
<pattern object-type="Baz" > </pattern>
</lhs>
<rhs>
if ( a == b ) {
assert( foo3 );
} else {
retract( foo4 );
}
System.out.println( a4 );
</rhs>
</rule>
</package>