XML - статьи

         

Миф: XQuery заменит XSLT


За XQuery и XSLT стоят достаточно мощные движущие силы разработчиков, поэтому они будут сосуществовать. На самом деле, последние спецификации, описывающие XQuery 1.0 и XSLT 2.0, разрабатываются в тандеме.

Область пересечения XQuery и XSLT - это те проблемы, для решения которых они созданы: трансформация данных в формате XML, федерализация XML-наборов и расширенные запросы к XML-данным. Разработчикам придется наблюдать и дальнейшие дискуссии о возможностях каждого из этих языков, в которых будет немало мифов и заблуждений. Например, бытует утверждение, что способность XQuery осуществлять запросы к многочисленным несовместимым источникам за один проход дает ему очевидное преимущество над XSLT. На самом деле, процессоры, работающие с XSLT версии 2.0, могут представлять кратные узлы как входную последовательность. В версии XSLT 1.0 есть функция document() для доступа к нескольким источникам за одну операцию трансформации, а версия 2.0 поддерживает функцию

new collection() (новый набор). Также существует мнение, что, хотя синтаксис XQuery выглядит лучше, в нем отсутствует возможность поддержки шаблонов стилей, характерная для XSLT. Возможно, это и так, но, вероятно, в XQuery скоро появится такая функция. В конце концов, разработчики могут ожидать как новых улучшений, так и проблем в обеих технологиях, поэтому их функции и возможности будут оставаться достаточно близкими.

Кроме того, есть еще проблема некоторой "заторможенности" разработчиков. Иногда после посещения презентаций, посвященных XSLT, так и не появляется ощущение реального понимания этого языка. XSLT - это синтаксис для операций трансформации, у которого нет функции main() или метода запуска, в отличие от программ на Java и Jython. Поэтому иногда XSLT-скрипт может выглядеть недетерминированным.



Содержание раздела