This out-of-context example from my XML code posted earlier appears to be a
bug with the 'call' function.  As shown here, the parser throws an error for
this rule, but I believe it's valid code.

(defglobal ?*NodeClass* = (call java.lang.Class forName "org.w3c.dom.Node"))

(defrule GetFirstChild
  (Node (firstChild ?node))
  (test (call ?*NodeClass* isInstance ?node))
 =>
  (definstance Node ?node)
)

Rete Exception in routine ReteCompiler::eval.
  Message: Unbound variable found in funcall: *NodeClass*  at line 24:  ( defrul
e GetFirstChild ( Node ( firstChild ?node ) ) ( test ( call ?*NodeClass* isInsta
nce ?node ) ) = > ( definstance Node ?node ) ) .
        at java.lang.Throwable.<init>(Compiled Code)
        at java.lang.Exception.<init>(Compiled Code)
        at jess.ReteException.<init>(ReteException.java:26)
        at jess.ReteCompiler.compilerError(ReteCompiler.java:830)
        at jess.ReteCompiler.eval(Compiled Code)
        at jess.ReteCompiler.addRule(Compiled Code)
        at jess.Rete.addDefrule(Compiled Code)
        at jess.Jesp.doParseDefrule(Compiled Code)
        at jess.Jesp.parseDefrule(Compiled Code)
        at jess.Jesp.parseSexp(Compiled Code)
        at jess.Jesp.parse(Compiled Code)
        at jess.Main.main(Compiled Code)

---------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the
list. List problems? Notify [EMAIL PROTECTED]
---------------------------------------------------------------------

Reply via email to