Вход/Регистрация
Технология XSLT
вернуться

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

Шрифт:

Рис. 3.24. Результат обработки элемента

summer

Пунктиром выделены результирующие фрагменты деревьев, сгенерированные при обработке элементов

month
; эти фрагменты объединяются и используются при создании фрагмента дерева, являющегося результатом обработки элемента
summer
.

Этот результат, в свою очередь, используется в главном шаблоне — шаблоне, который обрабатывает корневой элемент:

<xsl:template match="/">

 <html>

<head>

<title>Summer</title>

</head>

<body>

<xsl:apply-templates select="summer"/>

</body>

 </html>

</xsl:template>

Сгенерированный при обработке элемента

summer
результирующий фрагмент дерева включается в корневом шаблоне в элемент
body
(рис.3.25).

Рис. 3.25. Результат обработки корневого узла

Пунктиром выделен результирующий фрагмент дерева, который был получен при обработке элемента

summer
.

Результирующий фрагмент дерева, полученный в результате обработки корневого узла, является деревом выходящего документа. В чистом XSLT это и есть результат выполнения преобразования. Для того чтобы получить физическую интерпретацию — в данном случае HTML-документ, дерево сериализуется, обращаясь в следующий выходящий документ.

Листинг 3.31. Выходящий документ проведённого преобразования

<html>

 <head>

<title>Summer</title>

 </head>

 <body>

<table>

<tr>

<td>June</td>

<td>July</td>

<td>August</td>

</tr>

</table>

 </body>

</html>

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

Глава 4

Структура преобразования

Пространство имен XSLT

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

Уникальный идентификатор ресурса пространства имен XSLT имеет вид

http://www.w3.org/1999/XSL/Transform

Как отмечалось ранее, по адресу, указанному в URI пространства имен, совершенно необязательно будет находиться что-либо осмысленное. Однако в нашем случае по адресу

http://www.w3.org/1999/XSL/Transform
находится текстовый документ, содержащий единственную строчку:

This is the XSLT namespace.

Символ

1999
в URI пространства имен XSLT никак не соотносится с версией языка преобразования. Это просто год, который был назначен Консорциумом W3 данной спецификации и не более. Версия использованного языка определяется атрибутом
version
элемента
xsl:stylesheet
.

Общепринятым префиксом пространства имен языка XSLT является префикс

xsl
. Естественно, он может быть любым другим, но в этой книге мы будем использовать именно такое обозначение. Таким образом, объявление пространства имен XSLT в общем случае будет выглядеть следующим образом:
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"

Пример

Приведем пример простого преобразования, в котором объявлено пространство имен XSLT.

<xsl:stylesheet

  • Читать дальше
  • 1
  • ...
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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