SharpTAL compiles XML-based templates to .NET assemblies. It contains a complete implementation of the Zope Page Templates (ZPT) language, a system which can generate HTML, XML, or plain text output. ZPT is formed by the Template Attribute Language (TAL), the Expression Syntax (TALES), and the Macro Expansion Template Attribute Language (METAL).