A report developer faces and operates with many entities. Some of them have similar names but distinct meanings and usage. In the context of Report Designer, it’s crucial to clearly distinguish the following terms:
Content Controls – fields in Microsoft Word document that act as containers for specific content. The content can be mapped (bound) from an external XML data source. See additional information here and here.
CustomXML – xml file used by Microsoft Word as a data source for Content Controls. Report Designer engine generates CustomXML file based on report definition, database data, and entered report parameters. Next Report Designer engine takes the Report Template and substitutes their Empty CustomXML with data-full CustomXML.
CustomXML Tree – data structure attached to report component of CUSTOMXML type and used to generate CustomXML file based on entered report parameters.
Empty CustomXML – xml file which contains all nodes and attributes defined by CustomXML Tree though attribute values are merely spaces. It is used during the report development process to map CustomXML nodes and attributes to MS Word Content Controls to prepare report templates.
Report – a “final” file downloaded by an end-user via a browser. It is generated by Report Designer based on report definition, database data, and entered report parameters. It is in MS Word .docx format.
Report Component – is an internal data structure of Report Designer. It may be one of three types; each located on separate tabs:
- CUSTOMXML defines how CustomXML file is generated. This may be done either by specifying the CustomXML tree or by supplying a dynamic SQL statement.
- IMAGE defines how report images are selected (if any)
- ZIPPED_OOXML defines report templates included in report definition and rules where each of them are used
Report Definition – a set of rules collectively defining how a report must be generated. Each report definition is identified by a Report Code and consists of report components. It may be exported and imported to/from an Excel file.
Report Template – prepared in Microsoft Word .docx file (in Office Open XML format) which has been properly styled and formatted, with Word Content Controls mapped to nodes and attributes of Empty CustomXML file. A report developer creates a report template in MS Word and then includes (uploads) it into report definition.