Hi Zaola,
I may not be right, but I can think of one solution :
when
OASISTSO10($e: EVENT)
EVENT($g: GEO)
OASISTSO10(eval($e.GEO.size >0), )
Then
Assert something
When
$e.GEO[0].POSITION.LOCID matches
"40.*")
Then
.....do something else
Not sure if you can combine it all in one statement....
From:
rules-users-bounces@lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] On Behalf Of Otaduy del
Paso, Zaloa
Sent: Tuesday, October 07, 2008 8:53 PM
To: Rules Users List
Subject: RE: RV: [rules-users] Checking an xml field
Hi David,
Thanks for your helpful response. The problem was that the element
GEO can appear 0 or many times so what I needed to write was this
when
OASISTSO10($e: EVENT)
OASISTSO10($e.GEO[0].POSITION.LOCID == “40005”)
Then
Action
instead of
when
OASISTSO10($e: EVENT)
OASISTSO10($e.GEO.POSITION.LOCID == “40005”)
Then
Action
Now I’m facing another problem. I need to check if the
element GEO exists before checking the POSITION, otherwise it throws an
outofbound exception.
I tried with:
when
OASISTSO10($e: EVENT)
EVENT($g: GEO)
OASISTSO10($e.GEO[0].POSITION.LOCID matches "40.*")
But it doesn’t work. Any hints on this?
Thanks in advance,
Zaloa Otaduy del Paso
De:
rules-users-bounces@lists.jboss.org
[mailto:rules-users-bounces@lists.jboss.org] En nombre de David Sinclair
Enviado el: martes, 07 de octubre de 2008 15:58
Para: Rules Users List
Asunto: Re: RV: [rules-users] Checking an xml field
Read the
manual man. Your rules don't make any sense
http://downloads.jboss.com/drools/docs/4.0.7.19894.GA/html_single/
On Tue, Oct 7, 2008 at 9:49 AM, Scott
Reed <sreed@avacoda.com> wrote:
What is the problem you are seeing? Do
the rules compile ok?
Otaduy del Paso, Zaloa [10/6/2008 12:08 PM] wrote:
Does anybody know the answer to my question? I'm not able to solve
this issue and don't find any clarifying tutorial either….
Hi,
I'm
new in drools and I'm having some problems accessing an xml field. I'm using
drools with jaxb to treat xml files that follow an specific xsd. I have the
following xml (this is just a piece of the xml):
<OASIS_TSO_1_0>
<EVENT>
<EVENT_ID>EVENT_ID_03/10/2008
10:22:36</EVENT_ID>
<NODE_ID>00</NODE_ID>
<OTHER_EVENT_ID>Incidente
UME</OTHER_EVENT_ID>
<EVENT_TYPE>POL</EVENT_TYPE>
<SOURCE>HUMDED</SOURCE>
<SEVERITY>EXTREM</SEVERITY>
<CERTAINTY>88</CERTAINTY>
<DECL_DATIME>2008-10-03T10:20:47.0000000+02:00</DECL_DATIME>
<GEO>
<DESCRIPTION/>
<POSITION>
<LOC_ID>14021</LOC_ID>
<COORD>
<LAT>37.9811636567434</LAT>
<LON>-4.85417587343286</LON>
<HEIGHT>0</HEIGHT>
</COORD>
</POSITION>
</GEO>
</EVENT>
</OASIS_TSO_1_0>
I
already have a couple of rules working, but they are simple rules, like this
one:
rule
"Rule1"
salience 10
when
OASISTSO10($e: EVENT)
OASISTSO10($e.SEVERITY
== "EXTREM") or OASISTSO10($e.SEVERITY == "SEVERE")
then
action
The
problem appears when I have to check the LOC_ID field and I don't know how to
access to it. I have tried several things but none of them work
1.
when
OASISTSO10($e: EVENT)
OASISTSO10($e.GEO.POSITION.LOCID == "40005")
then
2.
when
OASISTSO10($e: EVENT)
OASISTSO10($g:
$e.GEO)
OASISTSO10($p: $g.POSITION)
OASISTSO10($p.LOCID
== "40005")
Then
I
have also tried with ($e.GEO.POSITION.DESCRIPTION, just in case the
"_" character was the problem. But the same results… I have
searched also for examples with xmls but I haven't had luck.
Any
help would be appreciated. Thanks in advance,
Zaloa
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
_______________________________________________
rules-users mailing list
rules-users@lists.jboss.org
https://lists.jboss.org/mailman/listinfo/rules-users
MASTEK LTD. Mastek is in NASSCOM's 'India Top 20' Software Service Exporters List. In the US, we're called MAJESCOMASTEK ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Opinions expressed in this e-mail are those of the individual and not that of Mastek Limited, unless specifically indicated to that effect. Mastek Limited does not accept any responsibility or liability for it. This e-mail and attachments (if any) transmitted with it are confidential and/or privileged and solely for the use of the intended person or entity to which it is addressed. Any review, re-transmission, dissemination or other use of or taking of any action in reliance upon this information by persons or entities other than the intended recipient is prohibited. This e-mail and its attachments have been scanned for the presence of computer viruses. It is the responsibility of the recipient to run the virus check on e-mails and attachments before opening them. If you have received this e-mail in error, kindly delete this e-mail from desktop and server. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ |