I think it would be fine to include an example like this in the Expression Language Guide. You can submit a PR to add that if you like. 

Andy LoPresto
PGP Fingerprint: 70EC B3E5 98A6 5A3F D3C4  BACE 3C6E F65B 2F7D EF69

On Jun 11, 2020, at 7:31 AM, Russell Bateman <> wrote:

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, endsWith and ifElse, work together.

Many thanks!

On 6/11/20 8:24 AM, Shawn Weeks wrote:
Your syntax is incorrect. Try this instead.
From: Russell Bateman <>
Reply-To: "" <>
Date: Thursday, June 11, 2020 at 9:15 AM
To: NiFi Users <>
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.)