Enhance data export with user-defined formats
This issue addresses user feedback for more flexibility, as there is a high demand for PDI to support personalized file formats.
As PDI is currently unable to write in custom formats, a new plugin should be developed to address this demand.
One way to address this issue is by utilizing a logic-less templating system, which has multiple available tools for this specific purpose:
-
Mustache. Has C, C++ implementations
Mustache is the original logic-less template language that inspired the other tools. It is the most minimalistic and logic-less templating system, as it provides a straightforward way to insert variables with only simple conditionals into templates. -
Handlebars. Has C. implementation
Inspired from Mustache, it provides extended functionality with helpers like if/each/list/with etc along with the ability to register custom helpers you need. Contrary to Mustache, it compiles templates before use, which significantly speeds the rendering of data compared to Mustache. -
Jinja. Has C, C++ implementations
Inspired from Mustache and Django (another templating system), is a bit more feature-rich than Mustache, providing support for template inheritance, macros, and custom filters. Jinja also has it's own syntax, and is a bit more oriented for Python web development.
Other implementations, such as Django Combyne or Markup and many others, exist despite not having C/C++ implementations.