XSLT хорошо подходит для преобразования XML в HTML, особенно если все ваши данные находятся в XML, и вы не пытаетесь также извлекать данные из других областей системы, например, переменные в вашем внутреннем коде или данные из базы данных. Однако вы правы, это нелегкий язык для изучения, и я, конечно, не рекомендую его для непрограммиста, если только вы не в состоянии тщательно разметить XSLT комментариями, а они изменяют только определенные части XSLT, чтобы добавить собственные настройки. В нашей команде есть компетентный программист HTML / CSS, который может изменять шаблоны XSLT, если они только добавляют простые операторы select-select и перемещают вещи. Что-нибудь кроме этого, и вам нужны хорошие навыки программирования и опыт работы с XSLT, чтобы иметь возможность работать с ним.
Smarty, вероятно, проще для непрограммиста, но вам придется самостоятельно создавать внутренний код, чтобы извлекать данные из XML и помещать их в переменные для шаблонов. Со сложными XML-входами это может стать настоящим беспорядком.
В принципе, я думаю, что у обоих подходов есть свои плюсы и минусы, и это будет во многом зависеть от данных XML, которые вы обрабатываете, от навыков клиента, который будет создавать шаблоны, и от того, сколько шаблонов вы хотите. быть настраиваемым.