Hi Vlad,<br><br>I can certainly look at adding some extra config options to the listeners to allow an end row/column to be specified. I&#39;m not sure the other things would be useful to many people (correct me if I&#39;m wrong).
<br><br>If you do go down the preprocessing option you could use JXL instead of POI as you will already have a dependency on it for the drools decision table stuff. I&#39;m not sure why we changed from POI to JXL but I have found it very easy to use.
<br><br>cheers<br>Steve<br><br><div><span class="gmail_quote">On 2/21/07, <b class="gmail_sendername">Olenin, Vladimir (MOH)</b> &lt;<a href="mailto:Vladimir.Olenin@moh.gov.on.ca">Vladimir.Olenin@moh.gov.on.ca</a>&gt; wrote:
</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">












<div link="blue" vlink="blue" lang="EN-US">

<div>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">Hi, Steve.</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">That might help, though will require one 'external'
run over the spreadsheet (ie, open Excel through POI and read some column with
rule template names) or a separate config file which matches rules with
appropriate templates. Regarding the ExternalSheetListener constructor, is
there a way to set the number of records to read? From what I see (the API
call), the l1 will process the same data as l2 does (when the compiler will get
to row '30') and the data for the second template might not be very
applicable for the first template. Basically, the thing is starting from row 30
the data merged with template 1 might generate invalid rules which is not
desirable. Any way to avoid it?</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">The main reason such functionality is
required in the first place (in our project at least) is that for some use
cases the same data can mean slightly different things and should result in slightly
different rules. The number of such 'groups' is quite large to
split the 'rule data' into separate spreadsheets and the
differences between the data interpretation are quite significant for coming up
with some 'generic' data format (which could suit all rule 'groups').
There is definitely a bunch of workarounds that can be done, but most of them
would require Excel spreadsheet preprocessing.</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">Within the existing API (from the example
you attached) Excel preprocessing might be the easiest thing to do. Unless
there is some more low level API which allows to insert 'interceptor'
which would monitor each record that is being read by compiler and create new
listener if appropriate entry is found in the particular column (eg, one column
in the spreadsheet might have template name entry which remains the same for
all records below unless changed to a new value)….. Smth along those
lines </span></font><font color="navy" face="Wingdings" size="2"><span style="font-size: 10pt; font-family: Wingdings; color: navy;">J</span></font><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">
.</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">Thanks, Steve.</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">Vlad</span></font></p>

<p><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>

<div>

<div style="margin-left: 36pt; text-align: center;" align="center"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">

<hr align="center" size="2" width="100%">

</span></font></div>

<p style="margin-left: 36pt;"><b><font face="Tahoma" size="2"><span style="font-size: 10pt; font-family: Tahoma; font-weight: bold;">From:</span></font></b><font face="Tahoma" size="2"><span style="font-size: 10pt; font-family: Tahoma;">

<a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users-bounces@lists.jboss.org</a>
[mailto:<a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users-bounces@lists.jboss.org</a>] <b><span style="font-weight: bold;">On
Behalf Of </span></b>Steven Williams<br>
<b><span style="font-weight: bold;">Sent:</span></b> 19 February 2007 18:54<div><span class="e" id="q_110dfbe9adfc8b88_1"><br>
<b><span style="font-weight: bold;">To:</span></b> Rules
 Users List<br>
<b><span style="font-weight: bold;">Subject:</span></b> Re: [rules-users]
conditional insert of &#39;exist&#39; or &#39;not&#39; keywords in decision table s</span></div></span></font></p>

</div><div><span class="e" id="q_110dfbe9adfc8b88_3">

<p style="margin-left: 36pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">&nbsp;</span></font></p>

<p style="margin-right: 0cm; margin-bottom: 12pt; margin-left: 36pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">Hi Vlad,<br>
<br>
There is a very basic wiki page on it (<a href="http://wiki.jboss.org/wiki/Wiki.jsp?page=DecisionTableTemplates" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">http://wiki.jboss.org/wiki/Wiki.jsp?page=DecisionTableTemplates
</a>).<br>
<br>
In terms of the functionality you mention you have your data having knowledge
of the rule templates whereas the current implementation is such that the data
has no knowledge of the templates. You can apply multiple rule templates to the
same data however (as in ExternalSpreadsheetCompilerIntegrationTest): <br>
<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final ExternalSpreadsheetCompiler
converter = new ExternalSpreadsheetCompiler();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final List listeners = new
ArrayList();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ExternalSheetListener l1 = new
ExternalSheetListener(10, 3, &quot;/templates/test_pricing1.drl&quot;); <br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; listeners.add(l1);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ExternalSheetListener l2 = new
ExternalSheetListener(30, 3, &quot;/templates/test_pricing2.drl&quot;);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; listeners.add(l2);<br>
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;
converter.compile(&quot;/data/ExamplePolicyPricing.xls&quot;, InputType.XLS,
listeners);<br>
<br>
This example assumes two sets of data in the one sheet, however they could both
have been applied to the same set (ie. the second listener could also point to
row 10, column 3). Would that accomplish what you need? <br>
<br>
Steve<br>
<br>
<br>
</span></font></p>

<div>

<p style="margin-left: 36pt;"><span><font face="Times New Roman" size="3"><span style="font-size: 12pt;">On 2/20/07, <b><span style="font-weight: bold;">Olenin, Vladimir (MOH)</span></b> &lt;<a href="mailto:Vladimir.Olenin@moh.gov.on.ca" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">
Vladimir.Olenin@moh.gov.on.ca</a>
&gt; wrote:</span></font></span></p>

<div link="blue" vlink="blue">

<div>

<p style="margin-left: 36pt;"><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">Thanks, Steve. That
really seems to do the trick. Are there any wiki pages on this new
functionality? Or for now one should refer to the source code &amp; unit tests?</span></font></p>

<p style="margin-left: 36pt;"><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>

<p style="margin-left: 36pt;"><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">I also wonder what other
functionality the new templating engine has? Is it possible to define different
&#39;types&#39; of rules in the same &#39;rule&#39; template and refer to these types from
&#39;Excel&#39; data fields (eg, have one column per rule where you can refer &#39;rule
template XXX&#39; from drl file; this value can override some default value for
example). If not, how such situations can be handled? (ie, when one needs
several type of rules driven by the same data?)</span></font></p>

<p style="margin-left: 36pt;"><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>

<p style="margin-left: 36pt;"><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">Thanks,</span></font></p>

<p style="margin-left: 36pt;"><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">&nbsp;</span></font></p>

<p style="margin-left: 36pt;"><font color="navy" face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial; color: navy;">Vlad</span></font></p>

<div>

<div style="margin-left: 36pt; text-align: center;" align="center"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">

<hr align="center" size="2" width="100%">

</span></font></div>

<p style="margin-left: 36pt;"><b><font face="Tahoma" size="2"><span style="font-size: 10pt; font-family: Tahoma; font-weight: bold;">From:</span></font></b><font face="Tahoma" size="2"><span style="font-size: 10pt; font-family: Tahoma;">
 <a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users-bounces@lists.jboss.org</a>
[mailto:<a href="mailto:rules-users-bounces@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users-bounces@lists.jboss.org</a>]
<b><span style="font-weight: bold;">On Behalf Of </span></b>Steven Williams<br>
<b><span style="font-weight: bold;">Sent:</span></b> 17 February 2007 04:25<br>
<b><span style="font-weight: bold;">To:</span></b> Rules
 Users List<br>
<b><span style="font-weight: bold;">Subject:</span></b> Re: [rules-users]
conditional insert of &#39;exist&#39; or &#39;not&#39; keywords in decision table s</span></font></p>

</div>

<div>

<p style="margin-left: 36pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">&nbsp;</span></font></p>

<p style="margin-right: 0cm; margin-bottom: 12pt; margin-left: 36pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">Hi Vlad,<br>
<br>
With the new decision table handling you could use the following template to do
it:<br>
<br>
Given a table as follows:</span></font></p>

<table style="width: 442.8pt; margin-left: 36pt; border-collapse: collapse;" border="0" cellpadding="0" cellspacing="0" width="590">
 <tbody><tr>
  <td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 221.4pt;" valign="top" width="295">
  <p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">exists,
  21, 25</span></font></p>
  </td>
  <td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 221.4pt;" valign="top" width="295">

  <p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">,
  comprehensive</span></font></p>
  </td>
 </tr>
 <tr>
  <td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 221.4pt;" valign="top" width="295">
  <p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">not,
  64, 100</span></font></p>
  </td>
  <td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 221.4pt;" valign="top" width="295">

  <p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">exists,
  comprehensive</span></font></p>
  </td>
 </tr>
</tbody></table>

<p style="margin-left: 36pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">the following template does what you want:</span></font></p>

<p style="margin-left: 36pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">template header<br>
driver[]<br>
policy[]<br>
<br>
package This_is_a_ruleset;<br>
#generated from Decision Table<br>
import example.model.Driver;<br>
import example.model.Policy ;<br>
<br>
template &quot;Driver policy&quot;<br>
driver<br>
policy<br>
<br>
rule &quot;driver policy $row.rowNumber$&quot;<br>
&nbsp;&nbsp; &nbsp;when<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$driver0$<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Driver(age &gt;= $driver1$, age &lt;=
$driver2$)<br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;$policy0$ <br>
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;Policy(type = &quot;$policy1$&quot;)<br>
then<br>
&nbsp;&nbsp; &nbsp;//do smth<br>
end<br>
end template</span></font></p>

<p style="margin-right: 0cm; margin-bottom: 12pt; margin-left: 36pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">the code to call it was:<br>
&nbsp;&nbsp;&nbsp; public void testColumnKeywords() {<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final ExternalSpreadsheetCompiler
converter = new ExternalSpreadsheetCompiler(); <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; final String drl =
converter.compile( &quot;/data/TestWorkbook.xls&quot;,
&quot;/templates/test_keywords.drl&quot;,<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
InputType.XLS, 1, 1 ); // DT starts at Row 1, Column 1 <br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; System.out.println(drl);<br>
&nbsp;&nbsp;&nbsp; }<br>
<br>
cheers<br>
Steve</span></font></p>

<div>

<p style="margin-left: 36pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;">On 2/17/07, <b><span style="font-weight: bold;">Olenin,
Vladimir (MOH)</span></b> &lt;<a href="mailto:Vladimir.Olenin@moh.gov.on.ca" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)"> Vladimir.Olenin@moh.gov.on.ca</a>&gt; wrote:</span></font></p>

<div link="blue" vlink="purple">

<div>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">Hi,</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">I wonder if it&#39;s possible to pass some Column
keywords as parameters from template values, eg:</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>

<table style="width: 442.8pt; margin-left: 36pt; border-collapse: collapse;" border="0" cellpadding="0" cellspacing="0" width="590">
 <tbody><tr>
  <td style="border: 1pt solid windowtext; padding: 0cm 5.4pt; width: 221.4pt;" valign="top" width="295">
  <p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">Condition</span></font></p>
  </td>
  <td style="border-style: solid solid solid none; border-color: -moz-use-text-color; border-width: 1pt 1pt 1pt medium; padding: 0cm 5.4pt; width: 221.4pt;" valign="top" width="295">
  <p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">Condition</span></font></p>
  </td>
 </tr>
 <tr>
  <td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 221.4pt;" valign="top" width="295">
  <p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">$1
  Driver</span></font></p>
  </td>
  <td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 221.4pt;" valign="top" width="295">

  <p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">$1
  Policy</span></font></p>
  </td>
 </tr>
 <tr>
  <td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 221.4pt;" valign="top" width="295">
  <p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">age
  &gt;= $2, age &lt;= $3</span></font></p>
  </td>
  <td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 221.4pt;" valign="top" width="295">

  <p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">type</span></font></p>
  </td>
 </tr>
 <tr>
  <td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 221.4pt;" valign="top" width="295">
  <p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">exists,
  21, 25</span></font></p>
  </td>
  <td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 221.4pt;" valign="top" width="295">

  <p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">,
  comprehensive</span></font></p>
  </td>
 </tr>
 <tr>
  <td style="border-style: none solid solid; border-color: -moz-use-text-color windowtext windowtext; border-width: medium 1pt 1pt; padding: 0cm 5.4pt; width: 221.4pt;" valign="top" width="295">
  <p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">not,
  64, 100</span></font></p>
  </td>
  <td style="border-style: none solid solid none; border-color: -moz-use-text-color windowtext windowtext -moz-use-text-color; border-width: medium 1pt 1pt medium; padding: 0cm 5.4pt; width: 221.4pt;" valign="top" width="295">

  <p><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">exists,
  comprehensive</span></font></p>
  </td>
 </tr>
</tbody></table>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">I&#39;d expect the above table would generate two rules
like:</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">Rule 1</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">When</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
exists Driver (age &gt;= 21, age &lt;= 25)</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
Policy(type == &quot;comprehensive&quot;)</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">Then</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// do smth</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">End</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">Rule 2</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">When</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
not Driver (age &gt;= 64, age &lt;= 100)</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
exists Policy (type == &quot;comprehensive&quot;)</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">then</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
// do smth</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">End</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">The above example is just a mock up derived from one
of the examples in the documentation to demonstrate the point (meaning, the
rules themselves might not make sense from business point of view or can be
implemented differently for this particular case).</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">So, any way to achieve this? Whether in current
version (3.0.x) or the upcoming release (3.2)</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">Thanks,</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">&nbsp;</span></font></p>

<p style="margin-left: 36pt;"><font face="Arial" size="2"><span style="font-size: 10pt; font-family: Arial;">Vlad</span></font></p>

</div>

</div>

<p style="margin-right: 0cm; margin-bottom: 12pt; margin-left: 36pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"><br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">https://lists.jboss.org/mailman/listinfo/rules-users</a></span></font></p>

</div>

<p style="margin-left: 36pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"><br>
<br clear="all">
<br>
-- <br>
Steven Williams<br>
<br>
Supervising Consultant<br>
<br>
Object Consulting<br>
Office: 8615 4500 Mob: 0439 898 668 Fax: 8615 4501 <br>
<a href="mailto:stevenw@objectconsulting.com.au" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">stevenw@objectconsulting.com.au</a><br>
<a href="http://www.objectconsulting.com.au" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">www.objectconsulting.com.au</a><br>
<br>
consulting | development | training | support <br>
our experience makes the difference </span></font></p>

</div>

</div>

</div>

<p style="margin-right: 0cm; margin-bottom: 12pt; margin-left: 36pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"><br>
_______________________________________________<br>
rules-users mailing list<br>
<a href="mailto:rules-users@lists.jboss.org" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">rules-users@lists.jboss.org
</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">https://lists.jboss.org/mailman/listinfo/rules-users</a></span></font></p>

</div>

<p style="margin-left: 36pt;"><font face="Times New Roman" size="3"><span style="font-size: 12pt;"><br>
<br clear="all">
<br>
-- <br>
Steven Williams<br>
<br>
Supervising Consultant<br>
<br>
Object Consulting<br>
Office: 8615 4500 Mob: 0439 898 668 Fax: 8615 4501 <br>
<a href="mailto:stevenw@objectconsulting.com.au" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">stevenw@objectconsulting.com.au</a><br>
<a href="http://www.objectconsulting.com.au" target="_blank" onclick="return top.js.OpenExtLink(window,event,this)">www.objectconsulting.com.au</a><br>
<br>
consulting | development | training | support <br>
our experience makes the difference </span></font></p>

</span></div></div>

</div>


<br>_______________________________________________<br>rules-users mailing list<br><a onclick="return top.js.OpenExtLink(window,event,this)" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a><br><a onclick="return top.js.OpenExtLink(window,event,this)" href="https://lists.jboss.org/mailman/listinfo/rules-users" target="_blank">
https://lists.jboss.org/mailman/listinfo/rules-users</a><br><br></blockquote></div><br><br clear="all"><br>-- <br>Steven Williams<br><br>Supervising Consultant<br><br>Object Consulting<br>Office: 8615 4500 Mob: 0439 898 668 Fax: 8615 4501
<br><a href="mailto:stevenw@objectconsulting.com.au">stevenw@objectconsulting.com.au</a><br><a href="http://www.objectconsulting.com.au">www.objectconsulting.com.au</a><br><br>consulting | development | training | support
<br>our experience makes the difference