Валиков Алексей Н.
Шрифт:
□ добавлено определение лексикографического порядка (наподобие
□ добавлено сравнение строк без учета регистра символов;
□ добавлены операторы для проверки порядка следования узлов в документе;
□ исправлены обнаруженные ошибки.
Отличия XSLT 2.0 от XSLT 1.1
Прежде чем приступить к описанию отличий второй версии XSLT от версии 1.1 (и, соответственно, 1.0), следует сделать одно существенное замечание. Лицензионные соглашения Консорциума W3 не позволяют раскрывать широкой общественности внутренние материалы рабочих групп W3C до того, как они будут официально опубликованы. Потому, строго говоря, все, что будет ниже сказано о версии 2.0 — это не более чем совокупность гипотез, пожеланий и выводов, сделанных на основе спецификации XSLT 1.1 и требований к XSLT 2.0 и XPath 2.0. Эти документы доступны публично.
Изменения в XPath 2.0
Разрабатываемая версия языка XPath, вследствие интеграции с XQuery, очевидно, претерпит серьезные изменения. Новая спецификация уже сейчас разбита на два документа: документ, описывающий модель данных и документ, описывающий функции и операторы. Поэтому на данный момент сложно делать точный прогноз относительно того, что же получится в итоге. Мы ограничимся перечислением основных требований:
□ поддержка группы XML-стандартов: определение модели в терминах XML Information Set, выделение общего синтаксиса и семантики с XQuery 1.0;
□ переопределение операторов сравнения на множествах;
□ определение операторов пересечения и разности множеств;
□ расширение множества агрегатных функций (наподобие
□ возможность использования выражений, возвращающих множества узлов в качестве шагов выборки, например
□ введение оператора аналогичного оператору
□ дополнительные строковые функции как-то: замена подстроки, выравнивание, изменение регистра символов;
□ поддержка регулярных выражений;
□ поддержка примитивных типов XML Schema;
□ использование информации о структуре документа, определенной в его схеме;
□ поддержка экспоненциальной нотации чисел (наподобие
□ поддержка функций приведения и преобразования (аналог
Выбор шаблонов для элементов пространства имен, определенного по умолчанию
Одним из значительных неудобств первой версии XSLT была невозможность сменить пространство имен, определенное по умолчанию для паттернов. То есть, если шаблон будет определен как
то обрабатывать он будет только те элементы
придется писать шаблон вида
В случае целого документа принадлежащего ненулевому пространству имен, определения подобного рода могут оказаться слишком громоздкими. Решение этой проблемы может быть очень простым и элегантным.
В элементе xsl:stylesheet пространство имен с URI
Средства для форматирования даты и времени
В первых версиях XSLT элемент
Поскольку связка элемента, определяющего именованный формат и функции, выполняющей форматирование, оказалась очень удачной, по всей вероятности, подобную схему мы будем наблюдать и в версии 2.0. Скорее всего, связка для форматирования даты и времени будет состоять из элемента