<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
  <meta content="text/html;charset=ISO-8859-1" http-equiv="Content-Type">
</head>
<body bgcolor="#ffffff" text="#000000">
arina he wrote:
<blockquote
 cite="mid:903825b10802010635p58b92ef1q9c2b02d498221fd7@mail.gmail.com"
 type="cite">
  <div>Hi,</div>
  <div>&nbsp;</div>
  <div>I did some tailoring, the attached zip files contains&nbsp;three
parts:</div>
  <div>&nbsp;</div>
  <div>&nbsp; 1,One readme file showing the structure and how to run; </div>
  <div>&nbsp; 2,The compiled class jar RuleConverter.jar which will convert
given file to new one</div>
  <div>&nbsp; 3,The&nbsp;eclipse project jar ConvertProject for any one might
be&nbsp;interested.</div>
  <div>&nbsp;</div>
  <div>welcome comments.</div>
</blockquote>
Could you update the wiki page with this information? You can upload
the jar and cut and paste your instructions into the wiki page:<br>
<a class="moz-txt-link-freetext" href="http://wiki.jboss.org/wiki/Wiki.jsp?page=Drools2Migration">http://wiki.jboss.org/wiki/Wiki.jsp?page=Drools2Migration</a><br>
<br>
Once you've done that I'll also do a small blog referencing that page.<br>
<blockquote
 cite="mid:903825b10802010635p58b92ef1q9c2b02d498221fd7@mail.gmail.com"
 type="cite">
  <div>&nbsp;</div>
  <div><br>
&nbsp;</div>
  <div><span class="gmail_quote">On 12/22/07, <b
 class="gmail_sendername">arina he</b> &lt;<a moz-do-not-send="true"
 href="mailto:arina.he@gmail.com">arina.he@gmail.com</a>&gt; wrote:</span>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">Hi
Mark,<br>
    <br>
I have a simple app converting around 30 drl files with about 230 rules
using this xslt, I was able to run all those rules without any manually
modification after covertion which was my goal -:), lazy me.&nbsp; this xslt
should cover most cases. <br>
    <br>
it converts two major parts: functions to package, rule to rule, and&nbsp;
as well as some minor tags such as import. out of those "functions"
part is a little hard, but I managed do it though xslt.<br>
    <br>
since my rules are not very complex ones, I'm sure there are some case
I don't cover. so&nbsp; far I know two&nbsp; issues: <br>
&nbsp; 1, the attribute for rules is not covered since I don't local
attribute for individual rule, we use global&nbsp; vars,<br>
&nbsp; 2, need put xml schema into header.<br>
    <br>
should be more, and that's why I put up here so that people can give
comments and suggestion to make its coverage wider and more useful. <br>
    <br>
BTW, this is only for&nbsp; "XML-to-XML" format, not drl format.<br>
    <br>
one thing I was impressed by the Jboss Rule 4 is the backward
compatibility. we were coded against JSR94 interface, after upgrade
from drools 2 to 4, I only did a minor change on global variable. it
works perfectly. good work Mark.</blockquote>
  </div>
</blockquote>
heh, nice to have a happy customer. Drools 5.0 will have some api
changes, but the basic stuff should work with no changes - actually
JSR94 will now have any changes, so this won't impact you, although
ofcourse you'll miss out on all the new power we are adding :) We are
trying to have full backwards compatability with 4.0 DRL and 5.0 DRL<br>
<blockquote
 cite="mid:903825b10802010635p58b92ef1q9c2b02d498221fd7@mail.gmail.com"
 type="cite">
  <div>
  <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0px 0px 0px 0.8ex; padding-left: 1ex;">
    <div><span class="e" id="q_11700476028fd0e5_1"><br>
    <br>
    <br>
    <div class="gmail_quote">On Dec 19, 2007 12:59 PM, Mark Proctor &lt;<a
 moz-do-not-send="true"
 onclick="return top.js.OpenExtLink(window,event,this)"
 href="mailto:mproctor@codehaus.org" target="_blank">mproctor@codehaus.org</a>&gt;
wrote:<br>
    <blockquote class="gmail_quote"
 style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
      <div text="#000000" bgcolor="#ffffff">arina he wrote:
      <blockquote type="cite">
        <div>
        <div>I was scraping internet for one xslt&nbsp;when I was converting
drools 2 to jboss rule 4,&nbsp;but couldn't find one,</div>
        </div>
      </blockquote>
did you read this? <br>
      <a moz-do-not-send="true"
 onclick="return top.js.OpenExtLink(window,event,this)"
 href="http://wiki.jboss.org/wiki/Wiki.jsp?page=Drools2Migration"
 target="_blank">http://wiki.jboss.org/wiki/Wiki.jsp?page=Drools2Migration</a><br>
      <blockquote type="cite">
        <div>
        <div>&nbsp;</div>
        <div>so I rolled up sleeves and created one by myself, put up
here in case anyone need it too.</div>
        </div>
      </blockquote>
How complete is it? Do you have any unit tests? If so we should add
this as a contrib project for other users.<br>
      <blockquote type="cite">
        <div>&nbsp;</div>
        <div>welcome comments.</div>
        <div>&nbsp;</div>
        <div>Arina.</div>
      </blockquote>
Keep up the good work :)<br>
      <blockquote type="cite">
        <div>
        <div>
        <div>&nbsp;</div>
        <div>&nbsp;</div>
        <div><font color="#008080" size="2">
        <p align="left">&lt;?</p>
        </font><font color="#3f7f7f" size="2">xml </font><font
 color="#7f007f" size="2">version</font><font size="2">=</font><font
 color="#2a00ff" size="2">"1.0" </font><font color="#7f007f" size="2">encoding</font><font
 size="2">=</font><font color="#2a00ff" size="2">"UTF-8"</font><font
 color="#008080" size="2">?&gt;
        <p align="left">&lt;</p>
        </font><font color="#3f7f7f" size="2">xsl:stylesheet </font><font
 color="#7f007f" size="2">version</font><font size="2">=</font><font
 color="#2a00ff" size="2">"1.0" </font><font color="#7f007f" size="2">xmlns:xsl</font><font
 size="2">=</font><font color="#2a00ff" size="2">"<a
 moz-do-not-send="true"
 onclick="return top.js.OpenExtLink(window,event,this)"
 href="http://www.w3.org/1999/XSL/Transform" target="_blank">http://www.w3.org/1999/XSL/Transform</a>"
        </font><font color="#7f007f" size="2">xmlns:xs</font> <font
 size="2">=</font><font color="#2a00ff" size="2">"<a
 moz-do-not-send="true"
 onclick="return top.js.OpenExtLink(window,event,this)"
 href="http://www.w3.org/2001/XMLSchema" target="_blank">http://www.w3.org/2001/XMLSchema</a>"
        </font><font color="#7f007f" size="2">xmlns:fn</font><font
 size="2">=</font> <font color="#2a00ff" size="2">"<a
 moz-do-not-send="true"
 onclick="return top.js.OpenExtLink(window,event,this)"
 href="http://www.w3.org/2005/xpath-functions" target="_blank">http://www.w3.org/2005/xpath-functions</a>"
        </font><font color="#7f007f" size="2">xmlns:java</font><font
 size="2">=</font><font color="#2a00ff" size="2"> "<a
 moz-do-not-send="true"
 onclick="return top.js.OpenExtLink(window,event,this)"
 href="http://drools.org/semantics/java" target="_blank">http://drools.org/semantics/java</a>"
        </font><font color="#008080" size="2">&gt;</font><font size="2">
        </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:output </font><font color="#7f007f"
 size="2">method</font><font size="2">=</font><font color="#2a00ff"
 size="2">"xml" </font><font color="#7f007f" size="2">version</font><font
 size="2">=</font><font color="#2a00ff" size="2">"1.0" </font><font
 color="#7f007f" size="2">indent</font><font size="2">=</font><font
 color="#2a00ff" size="2"> "yes" </font><font color="#7f007f" size="2">omit-xml-declaration</font><font
 size="2">=</font><font color="#2a00ff" size="2">"yes"</font><font
 color="#008080" size="2">/&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:template
        </font><font color="#7f007f" size="2">match</font><font size="2">=</font><font
 color="#2a00ff" size="2">"/" </font><font color="#008080" size="2">&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">package </font><font color="#7f007f" size="2">name</font><font
 size="2">=</font><font color="#2a00ff" size="2">"com.sample "</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">global
        </font><font color="#7f007f" size="2">identifier</font><font
 size="2">=</font><font color="#2a00ff" size="2">"doc" </font><font
 color="#7f007f" size="2">type</font><font size="2">=</font><font
 color="#2a00ff" size="2">"Document" </font><font color="#008080"
 size="2">/&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:apply-templates
        </font><font color="#008080" size="2">/&gt;</font><font size="2">
        </font><font color="#008080" size="2">&lt;/</font><font
 color="#3f7f7f" size="2"> package</font><font color="#008080" size="2">&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;/</font><font
 color="#3f7f7f" size="2">xsl:template</font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:template </font><font
 color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"javaimport" </font><font color="#7f007f"
 size="2">match</font><font size="2">=</font><font color="#2a00ff"
 size="2">"java:import"</font><font color="#008080" size="2">&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">import </font><font color="#7f007f" size="2">name</font><font
 size="2">=</font><font color="#2a00ff" size="2">"{.}" </font><font
 color="#008080" size="2">/&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:template</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:template
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"javaFunction" </font><font color="#7f007f"
 size="2">match</font><font size="2">=</font><font color="#2a00ff"
 size="2">"java:functions"</font><font color="#008080" size="2">&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:if </font><font color="#7f007f" size="2">test</font><font
 size="2">=</font><font color="#2a00ff" size="2">"contains(.,'public')"
        </font><font color="#008080" size="2">&gt;</font><font size="2">
        </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:call-template </font><font
 color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2"> "separate"</font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:with-param </font><font
 color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"str" </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"substring-after(.,'public
')" </font><font color="#008080" size="2">/&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:call-template</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:if</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:template</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:template
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"separate" </font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:param </font><font
 color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"str" </font><font color="#008080" size="2">/&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:choose</font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:when </font><font
 color="#7f007f" size="2">test</font><font size="2">=</font><font
 color="#2a00ff" size="2">"contains($str,'public')" </font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:call-template
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2"> "drlFn"</font><font color="#008080" size="2">&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:with-param </font><font color="#7f007f"
 size="2">name</font><font size="2">=</font><font color="#2a00ff"
 size="2">"fnBody" </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"substring-before($str,'public')"
        </font><font color="#008080" size="2">/&gt;</font><font size="2">
        </font><font color="#008080" size="2">&lt;/</font><font
 color="#3f7f7f" size="2">xsl:call-template</font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:call-template </font><font
 color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2"> "separate"</font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:with-param </font><font
 color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"str" </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"substring-after($str,'public
')" </font><font color="#008080" size="2">/&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:call-template</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:when</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:otherwise</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:call-template
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2"> "drlFn"</font><font color="#008080" size="2">&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:with-param </font><font color="#7f007f"
 size="2">name</font><font size="2">=</font><font color="#2a00ff"
 size="2">"fnBody" </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"$str" </font><font
 color="#008080" size="2">/&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:call-template</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:otherwise</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:choose</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:template</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:template
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"drlFn" </font><font color="#008080" size="2">&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:param </font><font color="#7f007f"
 size="2">name</font><font size="2">=</font><font color="#2a00ff"
 size="2">"fnBody" </font><font color="#008080" size="2">/&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">function </font><font color="#7f007f"
 size="2">name</font><font size="2">=</font><font color="#2a00ff"
 size="2">"{substring-before(substring-after($fnBody,' '),'(')}" </font><font
 color="#7f007f" size="2">return-type</font><font size="2">=</font><font
 color="#2a00ff" size="2">"{substring-before($fnBody,' ')}"</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:if
        </font><font color="#7f007f" size="2">test</font><font size="2">=</font><font
 color="#2a00ff" size="2">"normalize-space(substring-before(substring-after($fnBody,'('
),')' ))!=''" </font><font color="#008080" size="2">&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:call-template </font><font
 color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2"> "params"</font><font color="#008080" size="2">&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:with-param </font><font color="#7f007f"
 size="2">name</font><font size="2">=</font><font color="#2a00ff"
 size="2">"paramStr" </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"normalize-space(substring-before(substring-after($fnBody,'('
),')' ))" </font><font color="#008080" size="2">/&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;/</font><font
 color="#3f7f7f" size="2">xsl:call-template</font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:if</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">body</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:call-template
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2"> "bdy"</font><font color="#008080" size="2">&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:with-param </font><font color="#7f007f"
 size="2">name</font><font size="2">=</font><font color="#2a00ff"
 size="2">"bdyStr" </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"substring-after($fnBody,'{'
)" </font><font color="#008080" size="2">/&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:call-template</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">body</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">function</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:template</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:template
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"bdy" </font><font color="#008080" size="2">&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:param </font><font color="#7f007f"
 size="2">name</font><font size="2">=</font><font color="#2a00ff"
 size="2">"bdyStr" </font><font color="#008080" size="2">/&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:value-of </font><font color="#7f007f"
 size="2">select</font><font size="2">=</font><font color="#2a00ff"
 size="2">"substring-before($bdyStr,'}')" </font><font color="#008080"
 size="2">/&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:if </font><font
 color="#7f007f" size="2">test</font><font size="2">=</font><font
 color="#2a00ff" size="2">"contains(substring-after($bdyStr,'}'),'}')" </font><font
 color="#008080" size="2">&gt;</font><font size="2">
        <p align="left">}</p>
        </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:call-template </font><font
 color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2"> "bdy"</font><font color="#008080" size="2">&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:with-param </font><font color="#7f007f"
 size="2">name</font><font size="2">=</font><font color="#2a00ff"
 size="2">"bdyStr" </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"substring-after($bdyStr,'}')"
        </font><font color="#008080" size="2">/&gt;</font><font size="2">
        </font><font color="#008080" size="2">&lt;/</font><font
 color="#3f7f7f" size="2">xsl:call-template</font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:if</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:template</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:template
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"params" </font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:param </font><font
 color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"paramStr" </font><font color="#008080"
 size="2">/&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:choose</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:when
        </font><font color="#7f007f" size="2">test</font><font size="2">=</font><font
 color="#2a00ff" size="2">"contains($paramStr,',')" </font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:call-template
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2"> "buildIdentifier"</font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:with-param </font><font
 color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"tpy" </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"substring-before($paramStr,'
')" </font><font color="#008080" size="2">/&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:with-param
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"idt" </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"substring-after(substring-before($paramStr,','),'
')" </font><font color="#008080" size="2">/&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:call-template</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:call-template
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2"> "params"</font><font color="#008080" size="2">&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:with-param </font><font color="#7f007f"
 size="2">name</font><font size="2">=</font><font color="#2a00ff"
 size="2">"paramStr" </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"normalize-space(substring-after($paramStr,','))"</font><font
 color="#008080" size="2">/&gt;</font> <font color="#008080" size="2">&lt;/</font><font
 color="#3f7f7f" size="2">xsl:call-template</font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:when</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:otherwise</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:call-template
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2"> "buildIdentifier"</font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:with-param </font><font
 color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"tpy" </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"substring-before($paramStr,'
')" </font><font color="#008080" size="2">/&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:with-param
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"idt" </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"substring-after($paramStr,'
')" </font><font color="#008080" size="2">/&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:call-template</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:otherwise</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:choose</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:template</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:template
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"buildIdentifier" </font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:param
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"tpy" </font><font color="#008080" size="2">/&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">xsl:param </font><font color="#7f007f"
 size="2">name</font><font size="2">=</font><font color="#2a00ff"
 size="2">"idt" </font><font color="#008080" size="2">/&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;</font><font
 color="#3f7f7f" size="2">parameter </font><font color="#7f007f"
 size="2">identifier</font><font size="2">=</font><font color="#2a00ff"
 size="2">"{$idt}" </font><font color="#7f007f" size="2">type</font><font
 size="2">=</font><font color="#2a00ff" size="2">"{$tpy}" </font><font
 color="#008080" size="2">/&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:template</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:template
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"rules" </font><font color="#7f007f" size="2">match</font><font
 size="2">=</font><font color="#2a00ff" size="2">"rule" </font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">rule
        </font><font color="#7f007f" size="2">name</font><font size="2">=</font><font
 color="#2a00ff" size="2">"{@name}" </font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:if </font><font
 color="#7f007f" size="2">test</font><font size="2">=</font><font
 color="#2a00ff" size="2">"java:condition" </font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;</font><font color="#3f7f7f" size="2">lhs</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">and-constraint-connective</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:for-each
        </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"java:condition" </font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">eval</font><font
 color="#008080" size="2">&gt;&lt;</font><font color="#3f7f7f" size="2">xsl:value-of
        </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"normalize-space(.)" </font><font
 color="#7f007f" size="2">disable-output-escaping</font><font size="2">=</font><font
 color="#2a00ff" size="2">"no" </font><font color="#008080" size="2">/&gt;&lt;/</font><font
 color="#3f7f7f" size="2">eval</font><font color="#008080" size="2">&gt;</font><font
 size="2"> </font><font color="#008080" size="2">&lt;/</font><font
 color="#3f7f7f" size="2">xsl:for-each</font><font color="#008080"
 size="2">&gt;</font><font size="2"> </font><font color="#008080"
 size="2">&lt;/</font><font color="#3f7f7f" size="2">and-constraint-connective</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">lhs</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">
xsl:if</font><font color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:for-each
        </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"java:consequence" </font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">rhs</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;</font><font color="#3f7f7f" size="2">xsl:value-of
        </font><font color="#7f007f" size="2">select</font><font
 size="2">=</font><font color="#2a00ff" size="2">"." </font><font
 color="#008080" size="2">/&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">rhs</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:for-each</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">rule</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">&lt;/</font><font color="#3f7f7f" size="2">xsl:template</font><font
 color="#008080" size="2">&gt;</font><font size="2"> </font><font
 color="#008080" size="2">
        <p>&lt;/</p>
        </font><font color="#3f7f7f" size="2">xsl:stylesheet</font><font
 color="#008080" size="2">&gt;</font></div>
        </div>
        </div>
        <pre><hr size="4" width="90%"><div>
_______________________________________________
rules-users mailing list
<a moz-do-not-send="true"
 onclick="return top.js.OpenExtLink(window,event,this)"
 href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a>
<a moz-do-not-send="true"
 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>
  </div></pre>
      </blockquote>
      <br>
&nbsp;</div>
      <br>
_______________________________________________<br>
rules-users mailing list<br>
      <a moz-do-not-send="true"
 onclick="return top.js.OpenExtLink(window,event,this)"
 href="mailto:rules-users@lists.jboss.org" target="_blank">rules-users@lists.jboss.org</a><br>
      <a moz-do-not-send="true"
 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>
    </span></div>
  </blockquote>
  </div>
  <br>
  <pre wrap="">
<hr size="4" width="90%">
_______________________________________________
rules-users mailing list
<a class="moz-txt-link-abbreviated" href="mailto:rules-users@lists.jboss.org">rules-users@lists.jboss.org</a>
<a class="moz-txt-link-freetext" href="https://lists.jboss.org/mailman/listinfo/rules-users">https://lists.jboss.org/mailman/listinfo/rules-users</a>
  </pre>
</blockquote>
<br>
</body>
</html>