99% of our reports are generated from HTML templates. But I think there is
a strong parallel between HTML templates and printer files. Both provide
layout for report sections (header, detail, footer, etc.). In DDS you
define records for each section.
Years ago I wavered back and forth about how to support multiple languages.
Use a technique like MSGID, where field labels and column headings are
pulled from an external source? Use a different data source per
language? Have code in the interface automate that transformation?
I ultimately had qualms about the runtime overhead that would add to the
interface, and settled on creating separate HTML templates, embedding
static text for field labels and column headings.
We pre-load all HTML templates into a multi-member physical file. At
runtime we let the library list point to the file where the templates are