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

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

Жанры

Холзнер Стивен

Шрифт:

HTMLtarget.innerHTML = "Error!";

return false:

}

HTMLtarget.innerHTML = XMLDocument.transformNode(XSLDocument);

return true;

}

//-->

</SCRIPT>

 </HEAD>

 <BODY onload="xslt">

<DIV ID="targetDIV"></DIV>

 </BODY>

</HTML>

В результате обработки этой 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,MSXML3 обеспечивает безопасный доступ к серверу по протоколу HTTP для работы с ASP;

mod_xslt,Простой модуль 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-сервера в браузер:

<%@ page errorPage="error.jsp" language="java"

 contentType="text/html" import="org.apache.xalan.xslt.*:java.io.*" %>

<%

 try {

XSLTProcessor processor = XSLTProcessorFactory.getProcessor;

processor.process(new XSLTInputSource("planets.xml"),

new XSLTInputSource("planets.xsl"),

new XSLTResultTarget("planets.html"));

 } catch(Exception e) {}

 FileReader filereader = new FileReader("planets.html");

 BufferedReader bufferedreader = new BufferedReader(filereader);

 String instring;

 while((instring = bufferedreader.readLine) != null) { %>

<%= instring %>

<% }

 filereader.close;

%>

Результат можно увидеть на рис. 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 также становятся все более распространенными. 

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

Ты - наша

Зайцева Мария
1. Наша
Любовные романы:
современные любовные романы
эро литература
5.00
рейтинг книги
Ты - наша

Последний Герой. Том 4

Дамиров Рафаэль
Последний герой
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Последний Герой. Том 4

Начало шторма

Мазуров Дмитрий
9. Громовая поступь
Фантастика:
фэнтези
рпг
5.75
рейтинг книги
Начало шторма

Хозяин Теней 4

Петров Максим Николаевич
4. Безбожник
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Хозяин Теней 4

Война

Валериев Игорь
7. Ермак
Фантастика:
боевая фантастика
альтернативная история
5.25
рейтинг книги
Война

Третий Генерал: Том III

Зот Бакалавр
2. Третий Генерал
Фантастика:
попаданцы
рпг
аниме
5.00
рейтинг книги
Третий Генерал: Том III

Истребители. Трилогия

Поселягин Владимир Геннадьевич
Фантастика:
альтернативная история
7.30
рейтинг книги
Истребители. Трилогия

Легат

Прокофьев Роман Юрьевич
6. Стеллар
Фантастика:
боевая фантастика
рпг
6.73
рейтинг книги
Легат

Чужак из ниоткуда

Евтушенко Алексей Анатольевич
1. Чужак из ниоткуда
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Чужак из ниоткуда

Черный Маг Императора 23

Герда Александр
23. Черный маг императора
Фантастика:
юмористическое фэнтези
аниме
сказочная фантастика
фэнтези
фантастика: прочее
попаданцы
5.00
рейтинг книги
Черный Маг Императора 23

Практик

Листратов Валерий
5. Ушедший Род
Фантастика:
аниме
фэнтези
попаданцы
5.00
рейтинг книги
Практик

Путь Шедара

Кораблев Родион
4. Другая сторона
Фантастика:
боевая фантастика
6.83
рейтинг книги
Путь Шедара

Морской лорд. Том 1

Чернобровкин Александр Васильевич
2. Вечный капитан
Фантастика:
попаданцы
историческое фэнтези
8.13
рейтинг книги
Морской лорд. Том 1

Вперед в прошлое 5

Ратманов Денис
5. Вперед в прошлое
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Вперед в прошлое 5