I added the following code to the Message class:

public void setAttribute(String xpath, String value) throws DOMException {
        Element msgXML = getContent();
        if(msgXML!=null) {
            Attr attribute = msgXML.getAttributeNode(xpath);
            if(attribute==null)
                throw new DOMException(DOMException.NOT_FOUND_ERR,
"Attribute not found in message with xpath: "+xpath);
            else
                attribute.setValue(value);
        }
    }

Does this for everyone? If so, how do I (or can someone) add this to our
latest build?


lhe77 wrote:
> 
> Brian,
> 
> actually you can have to logic in your drl file.
> Just get the internal NormalizedMessage of the exchange and convert the 
> content to DOM document using SourceTransformer. Then change the attribute
> in 
> that document and put it back to the message content. That should do the 
> trick.
> 
> For details have a look at the drools engine source:
> http://svn.apache.org/viewvc/servicemix/components/engines/servicemix-
> drools/trunk/src/main/java/org/apache/servicemix/drools/
> 
> Regards
> Lars
> 
> 
> Am Donnerstag 23 Oktober 2008 14:11:25 schrieb ObjectOrange:
>> Thx Lars!
>>
>> So, code and load a new 'helper' class that provides a setXMLAttribute()
>> method?
>>
>> Does using these 'helper' classes interfere with the BRMS web application
>> in managing the DRL files?
>>
>> lhe77 wrote:
>> > Brian,
>> >
>> > of course you can change the content of the message. Just retrieve the
>> > MessageExchange's InMsg (Normalized Message) and use getContent() to
>> get
>> > the
>> > content of the message.
>> > Useful class here to convert the content to DOM document or String is
>> the
>> > SourceTransformer class.
>> >
>> > Regards
>> > Lars
>> >
>> > Am Mittwoch 22 Oktober 2008 18:15:36 schrieb ObjectOrange:
>> >> Hello,
>> >>
>> >> I've noticed in the examples for this component the use of XPath for
>> >> condition evaluation. Is there a way to update the XML within a
>> >> Normalized
>> >> Message perhaps setting an XML attribute to a new value using the
>> >> current code or would this be a new feature?
>> >>
>> >> Thx!
>> >>
>> >> Brian
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/ServiceMix-Drools-SE%3A-XPath-XML-Attribute-Updates-Support-tp20114382p20131806.html
Sent from the ServiceMix - User mailing list archive at Nabble.com.

Reply via email to