Teodor,
I have the same need. I'm open to implementing (and contributing) a new query executer, but unless I'm missing something, this is a fairly pervasive change as I see no mechanism to pass in the needed context (the parameter map), nor for that matter, any sort of context.
JRXPathExecuterFactory is instantiated by reflection (so it can be cached) and thus you can't pass parameters into the constructor.
Seems to me that you want to inject something that gives access to parameters into the JRXpathExecuter (perhaps the JRDataset).
I'm surprised this feature hasn't been added yet. Basically it seems to me to be the mechanism to allow a single JRXML to be used with multiple record schemas by providing the ability of "mapping" field declarations in the JRXML to fields in the dataset(s).
To put that a different way, I could define a single template for contact data and populate it from a number of different datasources with different record layouts.
I could define my JRXML fields generically: LAST_NAME, FIRST_NAME
and then provide different mappings (via XPATH, SQL field name, etc.) as follows:
For one record format I might map LAST_NAME to "student/name/last"
For another record format I might map LAST_NAME to "contact/last_name".
Can you provide any guidance as to a feasible way to accomplish this? Either via existing mechanisms?