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

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

Шрифт:

Мы можем использовать

xsl:for-each
для того, чтобы создать список гипертекстовых ссылок для документа вида.

Листинг 7.24. Входящий документ

<html>

 <head>

<title>I'm just a simple page...</title>

 </head>

 <body>

Please visit <a href="#">this link</a>.

Or <a href="#">this one</a>.

Or visit <a href="#">this site</a>.

Or click <a href="#">here</a>.

 </body>

</html>

Будем считать, что в этом документе элементы гипертекстовых ссылок а являются потомками элемента

body
, который находится в элементе
html
.

Листинг 7.25. Шаблон преобразования

<xsl:template match="/">

 <links>

<xsl:for-each select="/html/body//a">

<a href="#">

<xsl:value-of select = "@href"/>

</a>

</xsl:for-each>

 </links>

</xsl:template>

Листинг 7.26. Результат преобразования

<links>

 <a href="#">http://www.aaa.com</a>

 <a href="#">http://www.bbb.com</a>

 <a href="#">http://www.ccc.com</a>

 <a href="#">http://www.ddd.com</a>

</links>

Элемент

xsl:for-each
изменяет контекст преобразования. Множество узлов, возвращаемое выражением в атрибуте
select
, становится текущим множеством узлов, а узел, шаблон для которого выполняется в данный момент, становится текущим узлом.

Как мы знаем, множества узлов в XSLT не имеют внутреннего порядка. Однако, обработка узлов в

xsl:for-each
будет происходить в так называемом порядке просмотра документа, который зависит от того, какое выражение использовалось для вычисления обрабатываемого множества. Порядок обработки множества узлов в
xsl:for-each
может быть также изменен элементами
xsl:sort
, которые могут присутствовать в
xsl:for-each
. Элемент
xsl:sort
задает сортировку обрабатываемого множества узлов, изменяя, таким образом, порядок просмотра, что часто бывает очень полезно.

Глава 8

Дополнительные элементы и функции языка XSLT

Дополнительные элементы и функции

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

К дополнительным элементам XSLT мы отнесем следующие:

□ 

xsl:preserve-space
и
xsl:strip-space
— работа с пробельными символами;

□ 

xsl:message
— сообщения процессора;

□ 

xsl:sort
— сортировка множеств перед обработкой;

□ 

xsl:namespace-alias
— определение псевдонимов пространств имен;

□ 

xsl:key
— определение ключей;

□ 

xsl:number
— нумерация;

□ 

xsl:decimal-format
— определение десятичного формата;

□ 

xsl:output
— контроль сериализации.

В XSLT также определяются дополнительные функции, расширяющие базовую библиотеку функций XPath:

□ 

key
— использование ключей;

□ 

format-number
— форматирование чисел;

□ 

document
— обращение к внешним документам;

□ 

current
— обращение к текущему узлу преобразования;

  • Читать дальше
  • 1
  • ...
  • 141
  • 142
  • 143
  • 144
  • 145
  • 146
  • 147
  • 148
  • 149
  • 150
  • 151
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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