ID  CONTENT       STYLESHEETID

--  ------------  ------------

1   <A>value</A>  1

SQL> SELECT * FROM PROCESSED_SOURCE;

ID CONTENT

-- -------------------------------------------------------

1  <?xml version = '1.0' encoding = 'UTF-8'?> <B>value</B>

Выполнение XSLT-преобразований в Java

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

Не стал исключением и XSLT. Можно смело сказать, что количество XSLT-средств, написанных на Java, превосходит половину вообще всех существующих в настоящее время XSLT-пакетов.

Для того чтобы продемонстрировать использование XSLT в Java, мы приведем два варианта одной и той же программы — серверного приложения (сервлета), которое по запросу клиента будет возвращать информацию о текущем HTTP-сеансе в формате HTML.

Первый вариант сервлета можно назвать 'традиционным'. В нем HTML-документ создается серией инструкций out.println(...), которые выводят в выходящий поток размеченную HTML-тегами информацию о текущем сеансе.

Листинг 9.22. Традиционный вариант сервлета

import javax.servlet.*;

import javax.servlet.http.*;

import java.io.*;

import java.util.*;

public class example extends HttpServlet {

 /**

 * Инициализация.

 */

 public void init(ServletConfig config) throws ServletException {

  super.init(config);

 }

 /**

 * Основной метод сервлета

 */

 public void service(HttpServletRequest request,

  HttpServletResponse response)

  throws ServletException, IOException {

  // Выставляем тип содержимого

  response.setContentType('text/html');

  // Инициализируем выходящий поток

  OutputStreamWriter osw =

   new OutputStreamWriter(response.getOutputStream());

  PrintWriter out = new PrintWriter (response.getOutputStream());

  // Выполняем вывод HTML-страницы

  out.println('<html>');

  // Выводим головную часть HTML-документа

  out.println(' <head>');

  out.println('  <title>Request information</title>');

  out.println(' </head>');

  // Выводим тело документа

  out.println(' <body>');

  // Выводим общую информацию о запросе

  out.println('  <h1>General information</h1>');

  out.println('  <table>');

  // Выводим имя сервера

  out.println('   <tr>');

  out.println('    <td>Server name</td>');

  out.println('    <td>' + request.getServerName() + '</td>');

  out.println('   </tr>');

  // Выводим порт сервера

  out.println('   <tr>');

  out.println('    <td>Server port</td>');

  out.println('    <td>' + request.getServerPort() + '</td>');

  out.println('   </tr>');

  // Выводим адрес запрашивающей стороны

  out.println('   <tr>');

  out.println('    <td>Remote address</td>') ;

  out.println('    <td>' + request.getRemoteAddr() + '</td>');

  out.println('   </tr>');

  // Выводим название протокола запроса

  out.println('   <tr>');

  out.println('    <td>Protocol</td>');

  out.println('    <td>' + request.getProtocol() + '</td>');

  out.println('   </tr>');

  // Выводим метод запроса

  out.println('   <tr>') ;

  out.println('    <td>Method</td>');

  out.println('    <td>' + request.getMethod() + '</td>');

  out.println('   </tr>');

  // Выводим URI запроса

  out.println('   <tr>');

  out.println('    <td>Request URI</td>');

  out.println('    <td>' + request.getRequestURI() + '</td>');

  out.println('   </tr>');

  // Выводим строку запроса

  out.println('   <tr>');

  out.println('    <td>Query String</td>');

  out.println('    <td>' + request.getQueryString() + '</td>');

  out.println('   </tr>');

  out.println('  </table>');

  // Выводим параметры запроса

Вы читаете Технология XSLT
Добавить отзыв
ВСЕ ОТЗЫВЫ О КНИГЕ В ИЗБРАННОЕ

0

Вы можете отметить интересные вам фрагменты текста, которые будут доступны по уникальной ссылке в адресной строке браузера.

Отметить Добавить цитату