Hello Ok can't refrain from giving my opinion to this one.
First of all I think separating presentation from business logic can be achived fairly simple with SMARTY and if your template code acutally contains business logic than you have not understood the concept of the template engine. The only logic that should be included in the template is the presentation logic. This is clearly stated in the docs and on the website. Removing logic from presentation is not possible in my opinion. Basically you always have to have someway of specifiing if something is to be shown or not. SO you basically just remove a complex programming structure and replace it with a somewhat less complex custom template declaration such as if else constructs etc... Also Smarty allows you to build custom tags to include logic into template without programming making it fairly easy to include businesslogic without introducing code. About XSLT as a templating mechanism. I just think it's more complicated and until every browser supports XSLT on the client side I don't see how it improves performance over a custom performance optimized templateengine such as SMARTY. Not to forget that the logic in an XsLT Stylesheet seems as complicated if not more complicated than building customized php code. But then again this is just my opinion. About Templatetamer, didn't have too much time to look at it but I don't like the fact, at least that is the impression I got from your website, that I have to use your tool to create templates. I have my own set of tools and I'd like to stick with them. So editing templates should be as easy as opening your favourite editor. So there is no real pro or con. Every situation has their advantage but IMHO if you are using XSLT just for separation purposes it is an overkill and makes things to complicated. If you need to transfer constructs into other languages such as perl etc... then thats a whole different situation... Regards Stefan