A typical reason to avoid intelligence in view templates is that it is more difficult to test that logic when it is stored inside the template. Separation of the two improves testability.
What are the testing options like for XSLT, are you able to run good automated tests against your templates?
On the other side that make the creation of templates (somethings) unduly complex.
I created http://apidocjs.com and had the problem that i needed some "simple" logic in the templates (handlebars). For such things i must implement a separate view with configuration/data modelling/... and Helper function, but that makes the project-output complex, because i want that the people can change the template as easy as possible. Quick & dirty developed i create many duplicate code in the template to avoid a separate view. It was a silly idea, it makes the template more complex ;-)
And only because of some missing logic.
What are the testing options like for XSLT, are you able to run good automated tests against your templates?