Eine Template Engine (von engl. Vorlage und Antrieb, Motor) ist eine Software, die eine Datei (das Template) verarbeitet, und bestimmte Platzhalter darin mit jeweils aktuellen Inhalten füllt. Die Bezeichnungen Templateklasse und Templatesystem werden oft als Synonym für eine Template Engine verwendet.
Klassentemplates in der C++-Programmierung sind dagegen nicht mit Template Engines vergleichbar, weil sie eine vom Datentyp unabhängige Programmierung ermöglichen und ganze Klassen enthalten.
In den Templates einer Template Engine sollte kein Programm-Code enthalten sein. Kontrollstrukturen (wie IF) sind allerdings oft in Templates möglich und verbreitet.
Typische Dateitypen, die verarbeitet werden, sind HTML, Text (ASCII oder Unicode), XML oder TeX. |