The term template, when used in the context of software engineering has various technical specifications, but is generally identified as any processing element that can be combined with a data model and processed by a template engine to produce a result document.
Overview
Template-based text processing (by a preprocessor or macro engine) is a practice that has a long history in modern Computer Science, although it is difficult to pinpoint the precise timeframe that this type of processing emerged as a recognized practice by that name.


