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

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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать
Листинг 5.7. Применение

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

Эта таблица стилей охватывает все элементы , помещает их значения в элемент <���Р>и добавляет их в выходной документ следующим образом:

Mercury

Closest planet to the sun

Venus

Earth

Вот еще один пример, впервые появившийся в главе 3, «Создание и применение шаблонов», где при помощи элемента в цикле перебирались все атрибуты элемента:

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

Следующий пример появился в главе 2, «Создание и применение таблиц стилей». Это упрощенная таблица стилей, в которой нельзя использовать какие-либо элементы высокого уровня, то есть нельзя использовать или , однако можно пройти по узлам в цикле при помощи :

The Planets Table



The Planets Table

Name Mass Radius Day

Эта упрощенная таблица стилей форматирует planets.xmlв planets.htmlпрактически так же хорошо, как и шаблон, использующий , в связи с чем появляется интересный вопрос: когда следует для прохода по узлам применять , а когда ?

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

Элемент работает во многом так же, как и ; можно даже вкладывать шаблоны при помощи , как это делается при помощи последовательных элементов . В листинге 5.8 я прохожу в цикле по каждому элементу , а затем во вложенном в него цикле по всем элементам, содержащимся в элементе , перечисляя их данные из элементов < DATA>следующим образом.

Листинг 5.8. Второй пример

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

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

Mercury

.0553

58.65

1516

.983

43.4

Venus

.815

116.75

3716

.943

66.8

Earth

1

1

2107

1

128.4

Сортирующие элементы

При помощи элемента можно сортировать узлы. Этот элемент устанавливает порядок обработки узлов для и . В следующем списке перечислены атрибуты :

select(необязательный). Принимает значение выражения XPath, возвращающего набор узлов для сортировки. По умолчанию — «string(.)»;

order(необязательный). Задает порядок сортировки, устанавливается в «ascending» (по возрастанию) или «descending» (по убыванию);

case-order(необязательный). Определяет, будут ли буквы в верхнем регистре располагаться перед буквами в нижнем регистре. Устанавливается в «upper-first» (сначала верхний) или «lower-first» (сначала нижний);

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

data-type(необязательный). Определяет, будет ли сортировка вестись в алфавитном или числовом порядке. Устанавливается в « text» (текст), « number» (число) или в QName.

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

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

Листинг 5.9. Сортировка данных

The Sorted Planets Table



The Sorted Planets Table

Name Mass Radius Day

А вот результат. Обратите внимание на то, что планеты действительно отсортированы как Earth, Mercury и затем Venus:

The Sorted Planets Table



The Sorted Planets Table

Name Mass Radius Day
Earth 1 2107 1
Mercury .0553 1516 58.65
Venus .815 3716 116.75

Вид документа показан на рис. 5.1.

Рис 51Сортировка при помощи упрощенного шаблона При помощи атрибута select - фото 18

Рис. 5.1.Сортировка при помощи упрощенного шаблона

При помощи атрибута select можно указать, что нужно сортировать. Например, таким образом можно отсортировать планеты по плотности (листинг 5.10).

Листинг 5.10. Сортировка планет по плотности

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

Planets

Planets sorted by density

Planet Mass Day Density

Вот результаты этого преобразования:

Planets



Planets sorted by density

</Н1>

Planet Mass Day Density
Venus .815 116.75 .943
Mercury .0553 58.65 .983
Earth 1 1 1

По умолчанию производит сортировку в алфавитном порядке, что означает, что «10» располагается перед «2». Для осуществления сортировки в числовом порядке установите атрибут типа данных в «number»:

Убывающий порядок сортировки задается установкой у элемента атрибута order в «descending». Можно также сортировать по значениям атрибута, например:

НОВОЕ В XSLT 2.0

Одним из важных преимуществ XSLT 2.0 является поддержка схем XML, и W3C планирует внести в XSLT 2.0 возможность сортировки по любому типу данных, определенному в схеме документа, так же, как сейчас можно сортировать по строкам или числам.

Сортировка по нескольким критериям

Стоит отметить, что при сортировке можно применять несколько критериев — для этого просто примените несколько элементов . Первый элемент отсортирует данные по основному критерию, следующий элемент — по следующему основному критерию и т.д. Вот, например, как внутри элемента можно отсортировать планеты сначала по расстоянию, а затем по плотности (при этом планеты с одинаковым расстоянием от Солнца будут отсортированы по плотности):

На этом мы заканчиваем обсуждение сортировки, и я перехожу к сопутствующей теме: нумерации.

Элемент

При помощи элемента узлу в результирующем документе присваивается очередной номер. Например, можно перенумеровать абзацы в контракте или строфы в поэме. Можно даже перенумеровать части документа несколькими уровнями, как, например, «Paragraph 3.2.5.1.» и т.п.

Элемент обладает следующими атрибутами:

level(необязательный). Определяет, как будут присваиваться последовательные числа. Устанавливается в «single» (один), «multiple» (несколько) или «any» (любой). Значение по умолчанию — «single»;

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

from(необязательный). Определяет точку начала отсчета. Устанавливается в образец;

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

Интервал:

Закладка:

Сделать


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

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




XSLT отзывы


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


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

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