Before diving into why Soy works the way it does, it is important to consider the problems that Soy is trying to address in other template systems that are available today.
When using a template system that only works on the server, such as JSP or PHP, a template often resembles an entire HTML file with placeholders for variable text. In this way, the user of the template can insert values for the template variables at runtime to dynamically create a string of HTML that can be sent down to the client. The following is an example of a PHP file with a placeholder to insert the current year:
<html> <body> <h3>The year ...