It is possible to change the contents of an XML file and to add data from an external database with the advanced special workflow component: Enrich XML from database.
A better alternative is to this component is ng.databaseLookup, which can e.g. be used directly in the designer, in a transformation and in the workflow.
Related components: Enrich spooled file from database, Database SQL select and Database SQL update.
A related workflow input is: From database with custom SQL, which starts a workflow with an SQL select.
In order to refer to a database a database driver must be setup.
The enrichment is defined in an xent file with the file extension .xent.
The parameters of the Enrich XML from database component are these:
After running the Enrich XML from database workflow component the XML file is actually not really changed, but the payload of the workflow is changed, so that it now contains the new, changed XML file and subsequent workflow elements can 'see' the added data.
Xent file
This is an xent file (with extension .xent), in which you can setup SQLs to add more data into the payload XML file and/or to copy/calculate nodes via XPath expressions.
The .xent file must be loaded in the transforms library (or a sub folder inside of this).
The Xent file format is described below in details.
Cache SQL results
This tells InterFormNG2 if the optional SQL results should be cached or not. If yes, then a bit more memory is used on the server to keep the SQL results for 30 seconds, which makes multiple (identical) SQL lookups perform much faster. If not cached, then any SQL lookup is run and not SQL results are reused.