Using variable for file naming only and not in xml payload?

I’m formatting and writing an xml file, and would like to name the file based on a field value from the original file, but cannot be part of the xml. Is it possible to somehow bring a variable ($VAR) from a prior step in to the File Writer without including it in the preceeding XML?

‘response-s-’$VAR’+’-.xml’

image

@acesario You can segregate xml format and file writer in different pipeline, then call this child pipeline using Pipeline execute and pass input param(the filename you want ) from your parent pipeline. Even if you use xsd inside xml format, you can found the xsd structure from the mapper(Map to xml) of your parent pipeline.

1 Like

@Supratim Thanks for the quick response! I actually had tried using a separate pipeline, and was able to pass the parm as you suggest, however my xml output would be one row, rather than the aggregated rows. So, a. I was doing this before the map to xml. I could try it after that.
Or better yet, b. Is there a way to have sub pipeline produce the aggregated rows, just like the parent does?

What I mean is, Parent produces xml:
<#root>
<#row1>
<#row2>
<#row3>
<#/root

Child (sub) currently produces
file1…
<#root>
<#row>
<#/root>
file 2…
<#root>
<#row>
<#/root>
file 3…
<#root>
<#row>
<#/root>

Actually you pass each row from pipeline execution snap, Move mapper to child pipeline , it should work.
Unless the upstream snap of mapper produce multiple output of row.

1 Like

Yes, the upstream snap produces multiple rows.

@Supratim, I found a way to resolve this. I used a GATE snap on the parent to combine the rows, and a json splitter on the child along with the parameter for the file naming.
WORKS PERFECTLY! Thank you for the continued conversation and ideas.