<div>I was scraping internet for one xslt when I was converting drools 2 to jboss rule 4, but couldn't find one, </div>
<div> </div>
<div>so I rolled up sleeves and created one by myself, put up here in case anyone need it too.</div>
<div> </div>
<div>welcome comments.</div>
<div> </div>
<div>Arina.</div>
<div> </div>
<div> </div>
<div><font color="#008080" size="2">
<p align="left"><?</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">?>
<p align="left"><</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 href="http://www.w3.org/1999/XSL/Transform">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 href="http://www.w3.org/2001/XMLSchema">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 href="http://www.w3.org/2005/xpath-functions">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 href="http://drools.org/semantics/java">http://drools.org/semantics/java</a>" </font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p>
<p align="left"></p></font><font color="#008080" size="2"><</font><font color="#3f7f7f" size="2">xsl:apply-templates </font><font color="#008080" size="2">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">package</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p>
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p>
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:call-template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:if</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p>
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</font><font color="#3f7f7f" size="2">xsl:choose</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:call-template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:call-template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:when</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</font><font color="#3f7f7f" size="2">xsl:otherwise</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:call-template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:otherwise</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:choose</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p>
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
</font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">
/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:call-template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:if</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</font><font color="#3f7f7f" size="2">body</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:call-template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">body</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">function</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p>
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left">}</p>
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:call-template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:if</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p>
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</font><font color="#3f7f7f" size="2">xsl:choose</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">
/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:call-template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font>
<font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:call-template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:when</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</font><font color="#3f7f7f" size="2">xsl:otherwise</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:call-template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:otherwise</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:choose</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p>
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</font><font color="#3f7f7f" size="2">lhs</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</font><font color="#3f7f7f" size="2">and-constraint-connective</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</font><font color="#3f7f7f" size="2">eval</font><font color="#008080" size="2">><</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">/></</font><font color="#3f7f7f" size="2">eval</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:for-each</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">and-constraint-connective</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">lhs</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:if</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</font><font color="#3f7f7f" size="2">rhs</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"><</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">/></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">rhs</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:for-each</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">rule</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p></font><font color="#008080" size="2"></</font><font color="#3f7f7f" size="2">xsl:template</font><font color="#008080" size="2">></font><font size="2">
<p align="left"></p>
<p align="left"></p></font><font color="#008080" size="2">
<p></</p></font><font color="#3f7f7f" size="2">xsl:stylesheet</font><font color="#008080" size="2">></font></div>