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

на главную - закладки

Жанры

Технология XSLT

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

Шрифт:

</tr>

<tr>

<td>Protocol</td>

<td>HTTP/1.1</td>

</tr>

<tr>

<td>Method</td>

<td>GET</td>

</tr>

<tr>

<td>Request URI</td>

<td>/servlet/example1</td>

</tr>

<tr>

<td>Query string</td>

<td>x=1&amp;y=2&amp;z=3&amp;x=4&amp;y=5&amp;z=6</td>

</tr>

</table>

<h1>Request parameters</h1>

<table>

<tr>

<td>z</td>

<td>3</td>

</tr>

<tr>

<td>z</td>

<td>6</td>

</tr>

<tr>

<td>y</td>

<td>2</td>

</tr>

<tr>

<td>y</td>

<td>5</td>

</tr>

<tr>

<td>x</td>

<td>1</td>

</tr>

<tr>

<td>x</td>

<td>4</td>

</tr>

</table>

<h1>Session parameters</h1>

<table>

<tr>

<td>v</td>

<td>4</td>

</tr>

</table>

<h1>Cookies</h1>

<table>

<tr>

<td>content</td>

<td>apple jam</td>

</tr>

<tr>

<td>JServSessionIdroot</td>

<td>aaenbyjqc0</td>

</tr>

</table>

 </body>

</html>

Второй

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

Представим, к примеру, что нам потребовалось перевести названия полей выводимого документа на русский язык — получить текст "

Общая информация
" вместо "
General information
" и так далее. В первом случае для внесения этого элементарного представления потребуется переписывать, перекомпилировать и обновлять на сервере сервлет; во втором случае все, что нужно будет сделать, — это исправить несколько строк в файле
stylesheet.xsl
.

Краткие выводы

В заключение хотелось бы сделать несколько комментариев относительно применения XSLT и вообще XML-технологий.

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

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

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

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

Глава 10

Расширения языка XSLT

Что такое расширения?

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

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

sin
и
cos
.

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

Я все еще князь. Книга XXI

Дрейк Сириус
21. Дорогой барон!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Я все еще князь. Книга XXI

Контракт на материнство

Вильде Арина
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Контракт на материнство

Последняя Арена 5

Греков Сергей
5. Последняя Арена
Фантастика:
рпг
постапокалипсис
5.00
рейтинг книги
Последняя Арена 5

Возвышение Меркурия. Книга 17

Кронос Александр
17. Меркурий
Фантастика:
попаданцы
аниме
5.00
рейтинг книги
Возвышение Меркурия. Книга 17

Релокант

Ascold Flow
1. Релокант в другой мир
Фантастика:
фэнтези
попаданцы
рпг
5.00
рейтинг книги
Релокант

Город воров. Дороги Империи

Муравьёв Константин Николаевич
7. Пожиратель
Фантастика:
боевая фантастика
5.43
рейтинг книги
Город воров. Дороги Империи

Босс для Несмеяны

Амурская Алёна
11. Семеро боссов корпорации SEVEN
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Босс для Несмеяны

Меч Предназначения

Сапковский Анджей
2. Ведьмак
Фантастика:
фэнтези
9.35
рейтинг книги
Меч Предназначения

Сын Багратиона

Седой Василий
Фантастика:
попаданцы
альтернативная история
4.00
рейтинг книги
Сын Багратиона

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

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

Сердце для стража

Каменистый Артем
5. Девятый
Фантастика:
фэнтези
боевая фантастика
9.20
рейтинг книги
Сердце для стража

На границе империй. Том 10. Часть 4

INDIGO
Вселенная EVE Online
Фантастика:
боевая фантастика
космическая фантастика
попаданцы
5.00
рейтинг книги
На границе империй. Том 10. Часть 4

Чехов. Книга 2

Гоблин (MeXXanik)
2. Адвокат Чехов
Фантастика:
фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Чехов. Книга 2

Санек 3

Седой Василий
3. Санек
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Санек 3