Стивен Холзнер - XSLT
- Название:XSLT
- Автор:
- Жанр:
- Издательство:Питер
- Год:2002
- Город:Санкт-Петербург
- ISBN:5-94723-271-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Стивен Холзнер - XSLT краткое содержание
Эта книга посвящена XSLT — мощным и удобным системам преобразования документов. В ней не только рассматривается весь синтаксис XSLT, от основ до специальных аспектов, но и подробно излагаются современные способы использования XSLT.
Вы найдете сотни практических примеров, таких как осуществление преобразований XSLT на web-cepвepax, подключение к базам данных и использование браузеров для осуществления преобразований на лету.
Книга рассчитана на всех, кто хочет изучать XSLT и использовать его на практике
XSLT - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Для работы с planets.xml
в IE (в том числе и версии 6.0) мне пришлось преобразовать атрибут type
в инструкции обработки из « text/xml
» в « text/xsl
» (предполагается, что файл planets.xsl
расположен в том же каталоге, что и planets.xml
, как указывает атрибут href
в листинге 1.3).
Mercury .0553
58.65
1516
.983
43.4
Venus
.815
116.75
3716
.943
66.8
Earth
1
1
2107
1
128.4
Теперь, если вы используете IE версии 5.5 или более ранней, вы должны также преобразовать таблицу стилей planets.xsl
(но не для версии 6.0 и старше; в этом случает нужно только изменить атрибут type в инструкции обработки из « text/xml
» в « text/xsl
»). Мы рассмотрим, как это сделать, в следующей главе, а вот новая версия planets.xsl, которую следует использовать:
The Planets Table
The Planets Table
Name | Mass | Radius | Day |
Теперь можно непосредственно открыть planets.xml в Internet Explorer, как видно на рис. 1.3.

Рис. 1.3.Осуществление XSLT-преобразования в Internet Explorer
Хотя таким образом при помощи Internet Explorer можно работать с XSLT, при этом необходимо так изменять таблицу стилей, чтобы она удовлетворяла требованиям Internet Explorer. Поскольку Internet Explorer в текущий момент фактически не поддерживает XSLT, открывая документы XML при навигации, я не буду использовать этот браузер для XSLT-преобразований в книге (кроме специально оговоренных случаев). Для осуществления преобразований я стану использовать процессоры XSLT, такие как Saxon и Xalan, а если результаты будут представляться в формате HTML, то мы будем просматривать их в Internet Explorer.
Интересно отметить, что существует способ провести настоящие XSLT-преобразования в Internet Explorer, не делая никаких специальных изменений в документах XML или XSL, даже не загружая и не устанавливая последний разборщик MSXML (как обсуждается в главе 2) — однако при этом нужно не осуществлять навигацию XML-документа, а обращаться к встроенному в Internet Explorer процессору XSLT, MSXML3, напрямую при помощи JavaScript.
Работа с XSLT и JavaScript в Internet Explorer
Процессор XSLT в Internet Explorer 5.5 является частью разборщика XML MSXML3, и если вы работаете напрямую с MSXML3 при помощи JavaScript, нет необходимости изменять исходные файлы planets.xml
и planets.xsl
(листинги 1.1 и 1.2), как мы это сделали в предыдущем разделе. Мы посмотрим, как это работает в главе 10, а здесь приведена web-страница xslt.html
, которая при помощи JavaScript и MSXML3 осуществляет преобразование planets.xml
с использованием planets.xsl
и отображает результаты (заметьте, что вы можете модифицировать этот документ для использования ваших собственных документов XML и XSLT, не прибегая к написанию кода на JavaScript: достаточно заменить имена planets.xml
и planets.xsl
на названия ваших документов XML и XSL) (листинг 1.5).
В результате обработки этой web-страницы будет получен тот же результат, что и на рис. 1.3: она напрямую загружает файлы planets.xml
и planets.xsl
и применяет к ним разборщик MSXML3. Это в точности те же файлы planets.xml
и planets.xsl
, с которыми мы работали на протяжении этой главы, — в них нет изменений, необходимых при рассмотрении предыдущей темы, в которой мы непосредственно просматривали planets.xml
в Internet Explorer. Дополнительная информация приведена в главе 10.
ИСПОЛЬЗОВАНИЕ VBSCRIPT
Если вам больше нравится VBScript, попробуйте использовать этот язык сценариев Internet Explorer: можно достичь таких же результатов.
XSLT-преобразования на web-серверах
Можно осуществлять XSLT-преобразования на web-сервере — так чтобы XML-документ был преобразован до того, как web-сервер отправит его браузеру. Здесь самое распространенное преобразование — это преобразование документа XML в HTML, но преобразования XML-XML на сервере также становятся все более и более распространенными.
В отличие от остальных XSLT-преобразований, рассмотренных до сих пор в этой главе, при проведении XSLT-преобразований на web-сервере обычно необходимо прибегнуть к программированию. Существует три распространенных способа выполнять XSLT-преобразования на web-серверах: используя сервлеты Java, Java Server Pages (JSP) и Active Server Pages (ASP). В главе 10 мы подробно исследуем все эти три способа. Некоторые процессоры XSLT можно настроить для использования на web-серверах — вот начальный список:
• AXSL, www.javalobby.org/axsl.html. AXSL — серверный инструмент, преобразующий XML в HTML при помощи XSLT;
• Microsoft XML Parser, http://msdn.microsoft.com/downloads/webtechnology/xml/msxml.asp. MSXML3 обеспечивает безопасный доступ к серверу по протоколу HTTP для работы с ASP;
• mod_xslt, http://modxslt.userworld.com. Простой модуль web-сервера Apache, использующий XSLT для получения содержимого XML. Для обработки XSLT используется процессор Sablotron;
• PXSLServlet, www.pault.com/Pxsl При помощи этого сервлета можно преобразовать XML в HTML с использованием XSLT. Он также позволяет читать и записывать данные в базу данных на основе SQL (через JDBC);
• xesalt, www.inlogix.de/products.html. Этот процессор XSLT существует в виде модуля для web-серверов Apache и IIS;
• XML Enabler, www.alphaworks.ibm.com/tech/xmlenabler. XML Enabler позволяет отправлять запросы сервлету, а при ответе сервлета XML Enabler может отформатировать данные при помощи различных таблиц стилей XSLT;
• XT, может быть использован как сервлет Java. Ему требуется сервлет-машина (servlet engine), реализующая, по крайней мере, версию 2.1 Java Servlet API. Класс-сервлет Java называется com.jclark.xsi.sax.XSLServlet.
Следующий пример демонстрирует страницу JSP, активизирующую на web-сервере процессор Xalan. Xalan преобразует planets.xml
в planets.html
при помощи таблицы стилей planets.xsl
. В коде затем считывается файл planets.html
и отправляется обратно от web-сервера в браузер:
Результат можно увидеть на рис. 1.4: там изображен файл planets.html, отправленный в Internet Explorer web-сервером, на котором выполняется JSP. В главе 10 приведена дополнительная информация об использовании сервлетов Java, JSP и ASP для XSLT-преобразований на стороне сервера.

Рис. 1.4.Преобразование XML на web-сервере
Мы рассмотрели, как выполнить XSLT-преобразования при помощи отдельных процессоров XSLT в браузере Internet Explorer и на web-серверах. Однако единственное преобразование, которое мы до сих пор сделали, — это преобразование XML в HTML. Хотя сейчас это наиболее популярное преобразование, преобразования из XML в XML также становятся все более распространенными.
Читать дальшеИнтервал:
Закладка: