Smarty is a template engine for PHP, facilitating the separation of presentation (HTML/CSS) from application logic. This implies that PHP code is application logic, and is separated from the presentation. The Smarty design was largely driven by these goals: clean separation of presentation from application code; a PHP backend and Smarty template frontend; compliment PHP, not replace it; fast development/deployment for programmers and designers; quick and easy to maintain; a syntax that is easy to understand, with no PHP knowledge required; flexibility for custom development; and security (insulation from PHP).
TinyButStrong is a template class for PHP that allows you to generate XML/HTML pages and any other files based on text source. The engine gives facilities to work with any databases, including in native PDO, MySQL, PostgreSQL, SQLite, PHP arrays, and more. It is possible to design templates using any visual editor (like Dreamweaver or FrontPage), and thus to make templates that are compatible with W3C standards for example. It features simple block management, useful display formats, conditional displaying for blocks and locators, remote XML/HTML attribute modification, a cache system, and the ability to include sub-templates and execute associated scripts. Plug-ins are supported since version 3.0.
OpenTBS is a PHP tool that helps you to make OpenOffice and MS Office documents using templates. You first design your template using OpenOffice or MS Office, and then OpenTBS merges it with data that you supply from PHP code and databases. It has facilities to manage pictures. The resulting documents are saved to file, served for download, or returned as a string. In fact, OpenTBS can merge any OpenDocument files, any OpenXML files, and any XML files compressed in a Zip archive. No extra exe file is required and it makes no temporary files, since all work is done in memory. OpenTBS is based on the TinyButStrong template engine.
Dextep Template Engine implements a template engine based on regular expression replacements. It can process a template with marks that define placeholders or sections using regular expressions to locate and replace those marks. Currently, it supports marks that define expressions, conditions, loops, and sub-templates files. The templates may compiled and cached to avoid processing the templates again in the future.
Xtempore is a lightweight, modular, and powerful XML-based domain independent templating language. It's essentially a programming library which provides flexible tools for transforming an object (model) and an XML document (template) into another XML document. Xtempore is implemented in Java and requires JRE 1.5 or later and slf4j for logging.
Snippetory is a general Java template engine based on passive templates. In passive templates, template code and logic are clearly separated from each other. The templates contains very simple mark up. By removing logic, templates are directly accessible, fully parametrized, and free of context, and can easily be reused. Navigation, code competition, and structuring of the code with methods and classes are supported.
Rythm Template Engine is a general-purpose, high-performance Java template engine which uses a Razor-like syntax. It is 2-to-3 times faster than Velocity. It supports variables, expression evaluation, control flow (if-else-if), looping, template inheritance(decoration/layout), and many features. There is a Play!Framework plugin based on Rythm. You can use Rythm in any place to generate any type of text file, including HTML, XML, Json, SQL, and any kind of source code.