That solves confusion I had after and despite reading the NiFi Expression Language documentation. Having written documentation before, I get why it's never ending and danger-fraught to write "bigger" examples in such documentation, and we resist doing it, but that's what I needed to clear up in my head the combination of how the two constructs, endsWithand ifElse, work together.

Many thanks!

On 6/11/20 8:24 AM, Shawn Weeks wrote:

Your syntax is incorrect. Try this instead.

${filename:endsWith('xml'):ifElse('XML','JSON')}

*From: *Russell Bateman <r...@windofkeltia.com>
*Reply-To: *"users@nifi.apache.org" <users@nifi.apache.org>
*Date: *Thursday, June 11, 2020 at 9:15 AM
*To: *NiFi Users <users@nifi.apache.org>
*Subject: *NiFi Expression Language in UpdateAttribute

I wnat to create an attribute, format-type, which I hoped would be set based on the in-coming flowfile name:

    ${ ${filename:endsWith( 'xml' )} : ifElse( 'XML', 'JSON' ) }

If the in-coming flowfile name is /sample.xml/, the result is nevertheless and always

format-type = JSON

I want it to be XML, obviously. What have I screwed up in my NEL syntax?

(Yes, I have tried taking out all the white space.)

Thanks,
Russ


Reply via email to