Hi,
You can do both ways:
1)
in DSL:
There is a Message that=msg : Message(payload : payload)
in DSLR:
There is a Message that
xpathEquals "/Root/aaaa" "bbb"
xpathEquals "/Root/cccc" "dddd"
2)
in DSL:
xpathEquals "{path}" "{value}"=msg : Message(payload : payload) and eval (DOMUtil.xpathEquals(payload, "{path}", "{value}"))
andXpathEquals "{path}" "{value}"=eval (DOMUtil.xpathEquals(payload, "{path}", "{value}"))
in DSLR:
xpathEquals "/Root/aaaa" "bbb"
andXpathEquals "/Root/cccc" "dddd"
On Mon, Dec 1, 2008 at 8:56 AM, Thierry B
<jboss-rules@tbzone.org> wrote:
Hello,
I've a question about drl and dsl with drools 4.0.
I've this rule :
rule "Contexte1"
when
msg : Message(payload : payload)
eval (DOMUtil.xpathEquals(payload, "/Root/aaaa", "bbb"))
eval (DOMUtil.xpathEquals(payload, "/Root/cccc", "dddd"))
then
System.out.println ("Contexte 1 ************* : OK");
end
I use a dsl, to make it work, so now my drl is like that :
rule "Contexte1"
when
>msg : Message(payload : payload)
xpathEquals "/Root/aaaa" "bbb"
xpathEquals "/Root/cccc" "dddd"
then
Log : "Contexte 1 ************* : OK";
end
I was forced to make an ">" at the line "msg : Message(payload : payload)"
otherwise, he tells me that he can't expand that line.
There is a way to :
- avoid to put the ">" even if I have to add something else to the dsl ?
- avoid the line "msg : Message(payload : payload)" in my drl and simplify
my dsl so that xPathEquals "know" that the "payload" variable come from
any object Message in Working Memory ?
Thanks :-)
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users