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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 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: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] 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 <[EMAIL PROTECTED]<mailto:[EMAIL 
PROTECTED]>> 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

[email protected]<mailto:[email protected]>

https://lists.jboss.org/mailman/listinfo/rules-users

_______________________________________________
rules-users mailing list
[email protected]<mailto:[email protected]>
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.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
_______________________________________________
rules-users mailing list
[email protected]
https://lists.jboss.org/mailman/listinfo/rules-users

Reply via email to