Чтение онлайн

на главную

Жанры

Технология XSLT

Валиков Алексей Н.

Шрифт:

Приложение 1

Обзор XSLT-процессоров

Здесь даны необходимые сведения по всем существующим XSLT-процессорам, достаточные для того, чтобы сориентировать разработчика и помочь ему выбрать наиболее подходящий инструмент. Перечислим основные факторы, которые мы будем учитывать для каждого из рассматриваемых процессоров:

□ поддерживаемые программные или языковые платформы;

□ поддержка расширений;

□ полнота реализации;

□ популярность;

□ скорость.

Несмотря на то, что XSLT-процессоры являются довольно сложными программами, в подавляющем большинстве они распространяются

по бесплатным лицензиям. Как следствие, ценовой показатель не является в данном случае определяющим.

Популярность XSLT-процессоров

Немаловажным фактором при выборе XSLT-процессора является его популярность: ведь чем более распространен процессор, тем больше возможность учитывать опыт предыдущих разработок и тем меньше вероятность найти грабли, на которые до этого еще не наступили другие.

На рис. П1.1 представлены результаты опросов, проведенных нами среди русскоязычных XML-разработчиков. В опросе принимали участие посетители сайта http://www.xmlhack.ru и подписчики конференции fido7.ru.xml. Параметр, приведенный в процентах, показывает, какая часть опрошенных использует этот процессор.

Рис. П1.1. Популярность основных XSLT-процессоров

Как и следовало ожидать, что наиболее популярным XSLT-процессором для решений на платформе Win32 является собственная разработка Microsoft — процессор MSXML. На Java-платформах самым популярным средством является Xalan, который разрабатывался в Apache XML Project.

Производительность XSLT-процессоров

Другим важным параметром, который следует учитывать при выборе процессора, является производительность или скорость выполнения преобразований. От производительности процессора зависит реальность использования XSLT в решениях, требующих быстрого времени реакции (например, на Web-серверах).

Производительность процессоров очень нелегко оценить. Во-первых, дело приходится иметь с различными программными и языковыми платформами, производительность которых различается уже сама по себе. Во-вторых, вследствие применения различных алгоритмов, эффективность процессоров может неодинаково проявляться на различных типах преобразований (например, на преобразовании А процессор I может быть быстрее процессора II, а на преобразовании В — медленнее). В-третьих, не все процессоры полностью и правильно реализуют возможности XSLT, то есть далеко не все преобразования будут выполняться на всех процессорах одинаково. Наконец, из всего времени обработки сложно выделить время, потраченное собственно на преобразование (а не на разбор и сериализацию XML).

Вследствие этого ни одна из оценок производительности не может претендовать на абсолютную достоверность. Впрочем, этого и не требуется — нам важно сориентироваться среди существующих процессоров по скорости, а для этого будет достаточно и приблизительных данных.

С любезного разрешения Кевина Джонса (Kevin Jones) и DataPower, Inc, мы опубликуем результаты двух исследований производительности XSLT-процессоров, основанных на сравнительном анализе времени выполнения контрольного набора примеров. Сами примеры и исходную статистическую информацию можно найти на следующих Web-сайтах:

□ http://www.datapower.com/XSLTMark

□ http://www.tfi-technology.com/xml/xslbench.html

Мы

приведем результаты этих исследований, выразив их в процентах (рис. П1.2 и П1.3). Относительную оценку в 100% имеет процессор с наивысшей скоростью, 50% — процессор, который оказался в два раза медленнее и так далее.

Рис. П1.2. Оценка производительности XSLT-процессоров в соответствии с XSLBench

Рис. П1.3. Оценка производительности XSLT-процессоров в соответствии с XSLTMark

Замечание

К моменту выхода книги в свет эта информация, скорее всего, потеряет свою актуальность — появятся новые процессоры, а старые будут переработаны. Несмотря на это, в глобальной перспективе расстановка сил вряд ли изменится, и поэтому приведенные данные могут быть полезны при выборе процессора и в будущем.

Библиотека Microsoft XML Parser

Основные характеристики. □ Платформы: MS Windows.

□ Расширения: функции расширения на JavaScript и VBScript.

□ Полнота реализации: один из наиболее проработанных процессоров.

□ Разработчик: Microsoft Corporation.

□ URL: http://msdn.microsoft.com/xml.

Продукт, названный Microsoft XML Parser, на самом деле далеко не только парсер. MSXML — это базовый компонент, объединяющий DOM/SAX-парсер, XSLT-процессор и некоторые другие инструменты. Мы будем рассматривать только XSLT-функциональность.

Компания Microsoft начала проявлять интерес к XSLT уже на самых ранних этапах разработки языка - когда он еще не был выделен из родительской технологии XSLT. Прототип процессора, предложенный Microsoft, был одной из первых рабочих реализаций XSLT. К сожалению, в этом прототипе был реализован ранний диалект языка, не совместимый со стандартной версией XSLT. Он получил большое распространение вместе с браузерами Internet Explorer 4.0, 5.0 и 5.5, и, как результат, множество программистов и по сей день работают с нестандартной версией XSLT, которая описывается пространством имен

"http://www.w3.org/TR/WD-xsl"
. Поддержка стандартного XSLT была реализована в версии MSXML 3.0, которая вышла в марте 2000 года (более полная, production-версия появилась чуть позже, осенью).

Ранний вариант XSLT, реализованный в MSXML 2.0 и ниже, имеет схожие с XSLT 1.0 принципы, но также и целый ряд несовместимых отличий. Следует скорее сказать, что WD-xsl — это другой язык и программировать на нем тоже следует по-другому. Для того чтобы использовать стандартный XSLT в MSXML, следует обновить этот компонент, загрузив новую версию с Web-сайта Microsoft. Однако, и это еще не все. Дело в том, что Microsoft не отказалась от старой нестандартной версии и MSXML 3.0 поддерживает ее наравне с XSLT 1.0. Более того, по умолчанию, MSXML устанавливается в так называемом side-by-side режиме (англ. side-by-side - бок о бок). Это означает, что вновь установленный компонент не замещает предыдущую версию полностью. Поэтому устанавливать MSXML следует в режиме замены — по окончанию установки следует воспользоваться утилитой xmlinst.exe, также доступной с Web-сайта Microsoft для того, чтобы полностью заменить старую версию.

Поделиться:
Популярные книги

Энфис 6

Кронос Александр
6. Эрра
Фантастика:
героическая фантастика
рпг
аниме
5.00
рейтинг книги
Энфис 6

Сердце Дракона. Предпоследний том. Часть 1

Клеванский Кирилл Сергеевич
Сердце дракона
Фантастика:
фэнтези
5.00
рейтинг книги
Сердце Дракона. Предпоследний том. Часть 1

Идеальный мир для Лекаря 8

Сапфир Олег
8. Лекарь
Фантастика:
юмористическое фэнтези
аниме
7.00
рейтинг книги
Идеальный мир для Лекаря 8

Под маской, или Страшилка в академии магии

Цвик Катерина Александровна
Фантастика:
юмористическая фантастика
7.78
рейтинг книги
Под маской, или Страшилка в академии магии

Мой любимый (не) медведь

Юнина Наталья
Любовные романы:
современные любовные романы
7.90
рейтинг книги
Мой любимый (не) медведь

Академия

Кондакова Анна
2. Клан Волка
Фантастика:
боевая фантастика
5.40
рейтинг книги
Академия

Играть, чтобы жить. Книга 3. Долг

Рус Дмитрий
3. Играть, чтобы жить
Фантастика:
фэнтези
киберпанк
рпг
9.36
рейтинг книги
Играть, чтобы жить. Книга 3. Долг

Виконт. Книга 4. Колонист

Юллем Евгений
Псевдоним `Испанец`
Фантастика:
фэнтези
попаданцы
аниме
7.50
рейтинг книги
Виконт. Книга 4. Колонист

Вечный Данж. Трилогия

Матисов Павел
Фантастика:
фэнтези
юмористическая фантастика
6.77
рейтинг книги
Вечный Данж. Трилогия

Мужчина не моей мечты

Ардова Алиса
1. Мужчина не моей мечты
Любовные романы:
любовно-фантастические романы
8.30
рейтинг книги
Мужчина не моей мечты

Последний Паладин. Том 7

Саваровский Роман
7. Путь Паладина
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Последний Паладин. Том 7

Истинная со скидкой для дракона

Жарова Анита
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Истинная со скидкой для дракона

Волк 7: Лихие 90-е

Киров Никита
7. Волков
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Волк 7: Лихие 90-е

Кровь Василиска

Тайниковский
1. Кровь Василиска
Фантастика:
фэнтези
попаданцы
аниме
4.25
рейтинг книги
Кровь Василиска