you can't use > in XML, escape it.

Mark
J, Chandra Sekhar wrote:
Hi,
I have replaced the line
<java:condition>	math.op1 > 0 and math.op2 > 0
</java:condition>  with  <java:condition> math.getOp1() > 0
</java:condition> 
still I am getting the same exception 

Regards,
chandu

-----Original Message-----
From: Mark Proctor [mailto:[EMAIL PROTECTED]] 
Sent: Wednesday, October 25, 2006 2:15 PM
To: user@drools.codehaus.org
Subject: Re: [drools-user] DroolsParserException

You can  only put valid  java inside a <condition> 'and' is not valid
java.

Mark
J, Chandra Sekhar wrote:
  
Hi,

I am getting the following exception, when I try to read the rules ( 
which are defined in the xml file ) from my java program

org.drools.compiler.DroolsParserException
	at org.drools.compiler.PackageBuilder.addPackageFromXml(Unknown
Source)
	at com.sample.DroolsMathExp.readRule(DroolsMathExp.java:75)
	at com.sample.DroolsMathExp.main(DroolsMathExp.java:21)
(null: 6, 56): cvc-elt.1: Cannot find the declaration of element 
'rule-set'.


Here are the xml and java files
------------------------------------
'MathRulesXml.xml'

<rule-set name="math rules"
    xmlns="http://drools.org/rules"    
    xmlns:java="http://drools.org/semantics/java"
    xmlns:xs="http://www.w3.org/2001/XMLSchema-instance"
    xs:schemaLocation="http://drools.org/rules rules.xsd
    				   http://drools.org/semantics/java
    
java.xsd">
  
	<rule name="math rule1"> 
		<parameter identifier="math">

			<class>com.sample.MathObj</class> 	
		</parameter> 
		<java:condition>
			math.op1 > 0 and math.op2 > 0
		</java:condition> 
		<java:consequence>
			math.setResult( math.getOp1() + math.getOp2() );
		 	System.out.println( "op1 = "+ math.getOp1());
		 	System.out.println( "op1 = "+ math.getOp2());
		 	System.out.println( "op1 + op2 = "+
    
math.getResult());
  
		</java:consequence> 
	</rule>
	
</rule-set>
----------------------------------------------------------------------
--
--
"DroolsMathExp.java"

	Reader source = new InputStreamReader(
DroolsMathExp.class.getResourceAsStream( "MathRulesXml.xml" ) );	

	PackageBuilder builder = new PackageBuilder();		
	builder.addPackageFromXml(source);

	Package pkg = builder.getPackage();
	RuleBase ruleBase = RuleBaseFactory.newRuleBase();
	ruleBase.addPackage( pkg );

	WorkingMemory workingMemory = ruleBase.newWorkingMemory();
			
	MathObj obj1 = new MathObj();			
	obj1.setOp1(20);
	obj1.setOp2(10);
	workingMemory.assertObject(obj1);	
	workingMemory.fireAllRules();

----------------------------------------------------------------------
--
------------
Please correct me whether the xml file is correct or not, give me some
    

  
examples how to define rules in xml file.

Which is the best option to define rules in the following, and why
1) xml file
2) drl file
3) DRL with DSL file
4) XL sheet

Regards.
Chandrasekhar J

---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

--
This email has been verified as Virus free Virus Protection and more 
available at http://www.plus.net

  
    


---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email


---------------------------------------------------------------------
To unsubscribe from this list please visit:

    http://xircles.codehaus.org/manage_email

--
This email has been verified as Virus free
Virus Protection and more available at http://www.plus.net

  

Reply via email to