BTL stands for Bean Transformation Language. It is a template language for creating documents in XML, HTML, XHTML, XSL-FO, PDF or other formats, based on the Java-object input (JavaBean). Similar to template languages such as JSP/JSTL, FreeMarker, Velocity and others, BTL was designed to be used with applications that follow the Model-View-Controller (MVC) pattern, in both WEB- and standalone environments.
What separates BTL from other template languages is that it is output-oriented. While other languages only output text, BTL produces SAX-like output commands that can be easily converted to the target format. With BTL, you can use the same language (and possibly the same templates) to create, for example, both HTML and PDF versions of the same document.
In many aspects BTL is very similar to XSLT. Like XSLT, BTL templates are written in XML, thus enforcing valid output and greatly simplifying handling of the escapes, whitespaces and other specifics of a target format. However, unlike XSLT, BTL operates on JavaBeans, using the popular OGNL library.
For more information, see the complete set of BTL's features and language tutorial.