From JPPF Documentation version 3.x
<schema xmlns="http://www.w3.org/2001/XMLSchema"
xmlns:jppf="http://www.jppf.org/schemas/ExecutionPolicy.xsd"
targetNamespace="http://www.jppf.org/schemas/ExecutionPolicy.xsd"
elementFormDefault="unqualified"
attributeFormDefault="unqualified"
>
<element name="ExecutionPolicy" type="jppf:OneRuleType"/>
<group name="Rule">
<choice>
<element name="NOT" type="jppf:OneRuleType"/>
<element name="AND" type="jppf:TwoOrMoreRulesType"/>
<element name="OR" type="jppf:TwoOrMoreRulesType"/>
<element name="XOR" type="jppf:TwoOrMoreRulesType"/>
<element name="LessThan" type="jppf:Numeric2Type"/>
<element name="AtMost" type="jppf:Numeric2Type"/>
<element name="MoreThan" type="jppf:Numeric2Type"/>
<element name="AtLeast" type="jppf:Numeric2Type"/>
<element name="BetweenII" type="jppf:Numeric3Type"/>
<element name="BetweenIE" type="jppf:Numeric3Type"/>
<element name="BetweenEI" type="jppf:Numeric3Type"/>
<element name="BetweenEE" type="jppf:Numeric3Type"/>
<element name="Equal" type="jppf:EqualType"/>
<element name="Contains" type="jppf:ContainsType"/>
<element name="OneOf" type="jppf:OneOfType"/>
<element name="RegExp" type="jppf:RegExpType"/>
<element name="CustomRule" type="jppf:CustomRuleType"/>
</choice>
</group>
<complexType name="OneRuleType">
<sequence>
<group ref="jppf:Rule"/>
</sequence>
</complexType>
<complexType name="TwoOrMoreRulesType">
<sequence minOccurs="2" maxOccurs="unbounded">
<group ref="jppf:Rule"/>
</sequence>
</complexType>
<complexType name="Numeric2Type">
<sequence>
<element name="Property" type="string"/>
<element name="Value" type="double"/>
</sequence>
</complexType>
<complexType name="Numeric3Type">
<sequence>
<element name="Property" type="string"/>
<element name="Value" type="double" minOccurs="2" maxOccurs="2"/>
</sequence>
</complexType>
<complexType name="EqualType">
<sequence>
<element name="Property" type="string"/>
<element name="Value" type="string"/>
</sequence>
<attribute name="valueType" use="optional" default="string">
<simpleType>
<restriction base="string">
<enumeration value="string"/>
<enumeration value="numeric"/>
<enumeration value="boolean"/>
</restriction>
</simpleType>
</attribute>
<attribute name="ignoreCase" type="jppf:TrueFalse" use="optional" default="false"/>
</complexType>
<complexType name="ContainsType">
<sequence>
<element name="Property" type="string"/>
<element name="Value" type="string"/>
</sequence>
<attribute name="ignoreCase" type="jppf:TrueFalse" use="optional" default="false"/>
</complexType>
<complexType name="OneOfType">
<sequence>
<element name="Property" type="string"/>
<element name="Value" type="string" maxOccurs="unbounded"/>
</sequence>
<attribute name="valueType" use="optional" default="string">
<simpleType>
<restriction base="string">
<enumeration value="string"/>
<enumeration value="numeric"/>
</restriction>
</simpleType>
</attribute>
<attribute name="ignoreCase" type="jppf:TrueFalse" use="optional" default="false"/>
</complexType>
<complexType name="RegExpType">
<sequence>
<element name="Property" type="string"/>
<element name="Value" type="string"/>
</sequence>
</complexType>
<simpleType name="TrueFalse">
<restriction base="string">
<enumeration value="true"/>
<enumeration value="false"/>
</restriction>
</simpleType>
<complexType name="CustomRuleType">
<sequence>
<element name="Arg" type="string" minOccurs="0" maxOccurs="unbounded"/>
</sequence>
<attribute name="class" type="string"/>
</complexType>
</schema>