На мой взгляд, у XLST есть три существенных минуса:
1) XML-синтаксис. XML вполне приемлим для разметки естественного текста:
достаточно посмотреть на TeX или исходники man'ов, чтобы понять,
что при таком применении XML визуально смотрится на том же уровне.
Но использовать XML для языка программирования - это перебор.
Лично я не могу прочитать даже свой XSLT-код уже через полчаса.
Я не хочу пользоваться графическим редактором и мне не надо обрабатывать
XLST другим XLST. Я хочу просто писать код в терминале.
2) Скудость средств. Странные переменные и рекурсия вместо цикла - это,
конечно, красиво с академической точки зрения, но мне-то нужно
программировать, а не считать числа Фибоначчи. Нет регулярных
выражений (интересно, какой вообще бэкграунд создателей XSLT -
Lisp and Java only ?), нет много чего - не случайно появление
EXSLT и разнообразных расширений (часто несовместимых) в каждом
XSLT-процессоре. DTD и Xpath отделены от XSLT примерно так же,
как C-препроцессор отделён от C, то есть, в общем-то вместе всё
работает, но есть ситуации, когда нужно помнить, что это разные вещи.
Я не понимаю, зачем это нужно в 21 веке.
И все эти претензии не высосаны из пальца, а появились в результате
использования XSLT на моём сайте: он хранится в XML и с помощью XSLT
превращается в статический HTML. И честно говоря, я не знаю, на что
можно перейти. Хорошо хоть XSLScript избавляет от радости видеть
натуральный XSLT.
3) По отзывам, парсеры XLST медленные.
Я понимаю, если бы он был медленный, но на нём было бы лёгко писать,
как на <вставьте свой любимый скриптовый язык>, но этого нет, см.
пункты 1 и 2. Я понимаю, если бы он был супер-быстрый, как ассемблерные
вставки, тогда можно было бы примирится с его нечитабельностью и
ограничениями, но он медленный, см. пункт 3.
На мой взгляд, единственное место, где XSLT смотрится естественно, это
в книжках про XSLT в разделе "Getting started".
Игорь Сысоев
http://sysoev.ru