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

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

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

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

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

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

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

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

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

Интервал:

Закладка:

Сделать

Набор узлов (node set), как понятно из названия, представляет собой просто совокупность узлов (и может содержать только один узел). Выражение child::PLANETвозвращает набор узлов, состоящий из всех элементов . Выражение child::PLANET/child::NAMEвозвращает список узлов, состоящий из всех элементов , дочерних по отношению к элементам . Для выбора узла или узлов из набора узлов воспользуйтесь следующими функциями для работы с наборами узлов в предикатах:

last(). Возвращает количество узлов в наборе узлов;

position(). Возвращает позицию контекстного узла в контекстном наборе узлов (начиная с 1);

count(node-set). Возвращает количество узлов в наборе. Если опустить node-set, функция будет применена к контекстному узлу;

id(string ID). Возвращает набор узлов, содержащий элемент с ID, удовлетворяющим переданной функции строке, или пустой набор узлов, если такой элемент отсутствует. Можно перечислить несколько идентификаторов, разделенных символами-разделителями, — тогда функция вернет набор узлов, состоящий из элементов с этими идентификаторами;

local-name(node-set). Возвращает локальное имя первого узла в наборе узлов. Если опустить node-set, функция будет применена к контекстному узлу;

namespace-uri(node-set). Возвращает URI пространства имен первого узла в наборе узлов. Если опустить node-set, функция будет применена к контекстному узлу;

name(node-set). Возвращает полностью определенное имя первого узла в наборе узлов. Если опустить node-set, функция будет применена к контекстному узлу.

В листинге 4.6 я перенумеровал элементы в выходном документе при помощи функции position().

Листинг 4.6. Применение функции position

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

The Planets

Предикаты: логические значения

В выражениях XPath можно также использовать логические (Boolean) значения. Для чисел ноль принимается за ложь (false), другие значения — за истину (true). Пустая строка, "", также считается ложью, все остальные строки — истиной.

Для вычисления логических результатов true/false можно применять следующие логические операции XPath:

• != означает «не равно»;

• < означает «меньше, чем» (в документах XML или XSL используйте <);

• <= означает «меньше или равно» (в документах XML или XSL используйте <=);

• = означает «равно» (программисты на С, С++, Java и JavaScript, обратите внимание: эта операция пишется как один знак =, а не два);

• > означает «больше, чем»;

• >= означает «больше или равно».

ИСПОЛЬЗОВАНИЕ СИМВОЛА <

Особенно обратите внимание на то, что непосредственно в документах XML или XSL нельзя использовать символ <, необходимо использовать ссылку на сущность <.

Для связи логических выражений логическими операциями And и Or используются ключевые слова and и or; слово not инвертирует логический смысл выражения — с истины на ложь или со лжи на истину.

В листинге 4.7 я определяю элемент Земли и помещаю в таблицу строки " Earth", " needs", " no" и " introduction" вместо числовых данных Земли. Я определяю, которая из планет есть Земля, при помощи предиката "[NAME='Earth']", проверяющего значение элемента , которое, в свою очередь, представляет собой заключенный в элементе текст. Я также предоставил шаблон для других планет, удовлетворяющих предикату " [NAME!='Earth']''.

Листинг 4.7. Определение планеты Земля

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

The Planets Table



The Planets Table

Name Mass Radius Day
Earth needs no introduction.

Вот результат:

The Planets Table

<���Н1>

The Planets Table

</Н1>

.

.

.

Name Mass Radius Day
Earth needs no introduction.

Результат можно увидеть на рис. 4.1.

Рис 41Применение предикатов XPath В следующем примере используется - фото 15

Рис. 4.1.Применение предикатов XPath

В следующем примере используется логическая операция >. Это правило применяется ко всем элементам после позиции 5:

Имеется также функция true, всегда возвращающая значение true, и функция false, всегда возвращающая значение false. Функция notинвертирует логический смысл выражения, как в следующем случае, где я выбираю все элементы , кроме последнего:

Наконец, функция langвозвращает истину или ложь в зависимости от того, является ли язык контекстного узла (определяемый атрибутами xml:lang) таким же, как язык, который передан в эту функцию.

Предикаты: числа

В XPath числа хранятся в формате числа с плавающей точкой двойной точности. (Технически все числа XPath хранятся в 64-разрядном формате IEEE числа с плавающей точкой двойной точности, floating-point double.) Все числа хранятся как числа с двойной точностью — даже целые числа, как 5 в рассматриваемом примере:

Над числами можно производить ряд операций:

+сложение;

-вычитание;

*умножение;

divделение (символ /, соответствующий делению в других языках, в XML, XSL и XPath уже занят);

modвозвращает значение деления по модулю двух чисел (остаток после деления первого числа на второе).

Например, элемент вставит в выходной документ строку " 600". В следующем примере выбираются все планеты, у которых отношение дня (измеренного в днях Земли) к массе (где масса Земли принята за 1) больше 100:

XPath также поддерживает следующие функции работы с числами:

ceiling(). Возвращает наименьшее целое, большее, чем переданное функции число;

floor(). Возвращает наибольшее целое, меньшее, чем переданное функции число;

round(). Округляет переданное число до ближайшего целого;

sum(). Возвращает сумму переданных функции чисел.

Например, среднюю массу планет в planets.xmlможно найти так, как в листинге 4.8:

Листинг 4.8. Вычисление средней массы планет

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

The average planetary mass is:

Строки

В XPath строки формируются из символов Unicode, как можно было предположить. Ряд функций специально предназначен для работы со строками:

string(object object1). Преобразует объект в строку;

starts-with(string string1, string string2). Возвращает истину, если первая строка начинается (starts with) со второй строки;

contains(string string1, string string2). Возвращает истину, если первая строка содержит (contains) вторую строку;

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

Интервал:

Закладка:

Сделать


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

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




XSLT отзывы


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


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

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