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

Тут можно читать онлайн Стивен Холзнер - XSLT - бесплатно полную версию книги (целиком) без сокращений. Жанр: Интернет, издательство Питер, год 2002. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.

Стивен Холзнер - XSLT краткое содержание

XSLT - описание и краткое содержание, автор Стивен Холзнер, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

Вы найдете сотни практических примеров, таких как осуществление преобразований XSLT на web-cepвepax, подключение к базам данных и использование браузеров для осуществления преобразований на лету.

Книга рассчитана на всех, кто хочет изучать XSLT и использовать его на практике

XSLT - читать онлайн бесплатно полную версию (весь текст целиком)

XSLT - читать книгу онлайн бесплатно, автор Стивен Холзнер
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

value(необязательный). Форматируемое число;

format(необязательный). Определяет формат вывода. Устанавливается в шаблон значений атрибута, возвращающий строку форматирования;

lang(необязательный). Определяет язык, чьи соглашения следует использовать для нумерации. Устанавливается в код языка, который можно применять в атрибуте xml:lang;

letter-value(необязательный). Позволяет выбрать различные схемы нумерации. устанавливается в «alphabetical» (алфавитная) или «traditional» (обычная);

grouping-separator(необязательный). Символ для разделения групп разрядов — например, запятая. Устанавливается в шаблон значений атрибутов, возвращающий единственный символ;

grouping-size(необязательный). Количество разрядов в каждой группе — определяет место применения разделителя групп разрядов. Устанавливается в шаблон значений атрибутов, возвращающий число.

СОВЕТ ПО НУМЕРАЦИИ

Как можно видеть из этого списка атрибутов, существует весьма много возможных схем нумерации. Операции нумерации могут стать довольно сложными, поэтому есть один прием: если нумерация будет становиться слишком сложной и запутанной, я просто выведу результирующий документ без нумерации и затем воспользуюсь второй таблицей стилей, которая применит нумерацию.

Существует три основных способа нумерации, в зависимости от установки атрибута уровня ( level): « single», « multiple» или « any». В следующих разделах мы по очереди рассмотрим каждую из этих схем, начав с одноуровневой нумерации, которая установлена по умолчанию .

Одноуровневая нумерация

Одноуровневая нумерация — это простая нумерация, когда перенумеровываются узлы-братья на одном уровне. Этот тип нумерации установлен по умолчанию. В листинге 5.11 при помощи одноуровневой нумерации перенумеровываются планеты в planets.xml.

Листинг 5.11. Одноуровневая нумерация

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

The Planets Table



The Planets Table

Name Mass Radius Day
.

.

.

.

А вот результат:

The Planets Table



The Planets Table

Name Mass Radius Day
1. Mercury .0553 (Earth = 1) 1516 miles 58.65 days
2. Venus .815 (Earth = 1) 3716 miles 116.75 days
3. Earth 1 (Earth = 1) 2107 miles 1 days

Этот результат показан на рис. 5.2.

Рис 52Одноуровневая нумерация элементов По умолчанию при нумерации - фото 19

Рис. 5.2.Одноуровневая нумерация элементов

По умолчанию при нумерации используются числа, но есть и другие возможности. Например, если бы я использовал , планетам были бы присвоены буквы a, b и с:

The Planets Table



The Planets Table

.

.

.

Ниже приведены возможные в атрибуте formatлексемы и соответствующие им виды нумерации:

1порождает последовательность 1, 2, 3…;

01порождает последовательность 01, 02, 03…;

• другие числа Unicode в других системах счисления порождают последовательности аналогично двум предыдущим правилам;

апорождает последовательность a, b, с…, аа, ab…;

Апорождает последовательность А, В, С…, АА, АВ…;

iпорождает последовательность i, ii, iii, iv…, ix, x, xi, xii…;

Iпорождает последовательность I, II, III, IV…, IX, X, XI, XII…

Нумерация на произвольных уровнях

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

Вот как примерно это будет выглядеть, если в planets.xmlэлементы встречаются на различных уровнях:

Planets Table

Mercury

.0553

58.65

1516

.983

43.4

Venus

.815

116.75

3716

.943

66.8

.

.

.

Чтобы сосчитать общее число элементов , в таблице стилей можно установить атрибут levelв «any» (листинг 5.12).

Листинг 5.12. Нумерация на произвольных уровнях

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Name Mass Radius Day
a. Mercury .0553 (Earth = 1) 1516 miles 58.65 days
b. Venus .815 (Earth = 1) 3716 miles 116.75 days

The Planets Table



The Planets Table

Name Mass Radius Day

.

.

.

.

Получаем результат (заметьте, что текст каждого элемента , независимо от его уровня в документе, пронумерован):

The Planets Table



The Planets Table

1. Planets Table

Name Mass Radius Day
2. Mercury .0553 (Earth = 1) 1516 miles 58.65 days
3. Venus .815 (Earth = 1) 3716 miles 116.75 days
4. Earth 1 (Earth = 1) 2107 miles 1 days

При помощи атрибута fromможно указать, с какого узла-предка начинать отсчет; например, если установить узел-предок в элемент так:

то процессор XSLT осуществит обратный просмотр только до первого предка и начнет нумерацию с этой точки документа.

Многоуровневая нумерация

Элемент также поддерживает многоуровневую нумерацию — такую как 3.1.2.5 и т. п. Для работы с ней нужно установить атрибут levelв «multiple». При помощи атрибута countможно указать, узлы какого типа вы хотите нумеровать, установив этот атрибут в образец, например: " PART|CHAPTER|PARAGRAPH". При обработке элементов процессор XSLT нумерует узлы в соответствии с иерархией документа.

В примере я нумерую каждый уровень в иерархии элементов planets.xml, установив атрибут countв «*» для выбора всех элементов. Можно также указать формат нумерации при помощи атрибута format. При многоуровневой нумерации атрибут formatзадает формат для различных уровней, например «1.1.1.» задает нумерацию 1., 2., … и т.д. для узлов верхнего уровня, 1.1., 1.2., … и т.д. для узлов уровнем ниже и 1.2.1., 1.2.2., … и т. д. для следующего уровня вниз. Вот как выглядит таблица стилей для этого примера в листинге 5.13.

Листинг 5.13. Многоуровневая нумерация

<���хsl:stylesheet version="1.0"

xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

Вот результат преобразования planets.xml в новый XML-документ, в котором перенумерованы все уровни элементов в соответствии с иерархией документа:

1.

1.1.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Стивен Холзнер читать все книги автора по порядку

Стивен Холзнер - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




XSLT отзывы


Отзывы читателей о книге XSLT, автор: Стивен Холзнер. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x