Технология 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 мы отнесем следующие:
□
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
— обращение к текущему узлу преобразования; □
unparsed-entity-uri
— получение URI неразбираемой сущности по ее имени; □
generate-id
— генерация уникального идентификатора узла документа; □
system-property
— получение информации о свойствах системы, окружения. Обработка пробельных символов
В XSLT выделяются четыре пробельных символа, обработка которых несколько отличается от обработки других символов. Их Unicode-коды и описания сведены в табл. 8.1.
Таблица 8.1. Unicode-коды пробельных символов
Unicode-коды | Описание | |
---|---|---|
Десятичный | Шестнадцатеричный | |
#9 | #x9 | Горизонтальная табуляция |
#10 | #xA | Перевод строки |
#13 | #xD | Возврат каретки |
#32 | #x20 | Пробел |
Поделиться:
Популярные книги
На границе империй. Том 3
3. Фортуна дама переменчивая
Фантастика:
космическая фантастика
5.63
рейтинг книги
На границе империй. Том 5
5. Фортуна дама переменчивая
Фантастика:
боевая фантастика
попаданцы
7.50
рейтинг книги
Ученичество. Книга 2
2. Государственный маг
Фантастика:
фэнтези
попаданцы
5.00
рейтинг книги
Адвокат вольного города 3
3. Адвокат
Фантастика:
городское фэнтези
альтернативная история
аниме
5.00
рейтинг книги
Мымра!
1. Мымрики
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Пипец Котенку! 2
2. РОС: Пипец Котенку!
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Инкарнатор
1. Стеллар
Фантастика:
боевая фантастика
рпг
7.30
рейтинг книги
Часовая битва
6. Часодеи
Детские:
детская фантастика
9.38
рейтинг книги
Небо для Беса
3. Самбисты
Любовные романы:
современные любовные романы
5.25
рейтинг книги
#Бояръ-Аниме. Газлайтер. Том 11
11. История Телепата
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Пистоль и шпага
2. Штуцер и тесак
Фантастика:
альтернативная история
8.28
рейтинг книги
Дракон - не подарок
2. Королевская академия Драко
Фантастика:
фэнтези
6.74
рейтинг книги
Её (мой) ребенок
Любовные романы:
современные любовные романы
6.91
рейтинг книги
Не грози Дубровскому! Том III
3. РОС: Не грози Дубровскому!
Фантастика:
фэнтези
попаданцы
аниме
5.00