iNamik Template Engine is a Smarty-inspired template processor for Java. It is suitable for any textual output, including XML, HTML, plain text, etc. It encourages well-formatted templates. It works very hard to remove extra whitespace introduced by the template tags. Consistent, well-indented input is rewarded with well-indented output. Caching is supported via EHCache. It is extensible, allowing you to create your own tags, functions, and filters.