Алексей Валиков - Технология XSLT

Тут можно читать онлайн Алексей Валиков - Технология XSLT - бесплатно полную версию книги (целиком) без сокращений. Жанр: comp-programming, издательство БХВ-Петербург, год 2002. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Технология XSLT
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2002
  • Город:
    Санкт-Петербург
  • ISBN:
    нет данных
  • Рейтинг:
    4.75/5. Голосов: 81
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 100
    • 1
    • 2
    • 3
    • 4
    • 5

Алексей Валиков - Технология XSLT краткое содержание

Технология XSLT - описание и краткое содержание, автор Алексей Валиков, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга посвящена разработке приложений для преобразования XML-документов с использованием XSLT — расширяемого языка стилей для преобразований. Обсуждается применение языков XSLT и XPath в решении практических задач: выводу документов в формате HTML, использованию различных кодировок для интернационализации и, в частности, русификации приложений, вопросам эффективности существующих подходов для решения проблем преобразования. Для иллюстрации материала используется большое количество примеров.

Для начинающих и профессиональных программистов

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

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

Интервал:

Закладка:

Сделать

□ Строковое значение преобразуется в число, которое оно представляет.

□ Множество узлов сначала преобразуется в строку, а затем, как строка в число. Фактически численным значением множества узлов является численное значение его первого узла.

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

Примеры

number($to_be or not($to_be))1

Значение этого выражения будет 1, поскольку $to_be or not($to_be)будет истинным вне зависимости от значения переменной to_be.

number(false())0

number('00015.0001000')15.0001

number('.0001000')0.0001

number('1.')1

number('-.1')-0.1

number('-5')-5

Функция sum

number sum( node-set )

Функция sumсуммирует значения узлов из переданного ей множества. Строковые значения узлов сначала преобразуются в числа, а затем все полученные числа складываются.

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

1

3

5

Листинг 6.4. Преобразование

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

version="1.0">

Листинг 6.5. Результат

1

4

9

16

25

В этом преобразовании мы заменяем каждый элемент itemна сумму значений предшествующих ему элементов плюс собственное значение. Предшествующие элементы выбираются путем выборки preceding-sibling::item, текущий элемент — сокращенным путем " .", затем эти два множества объединяются при помощи оператора |, и, наконец, мы вычисляем сумму значений узлов, входящих в них функцией sum.

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

1

3

five

7

9

то на выходе мы получим

1

4

NaN

NaN

NaN

потому что, начиная с третьего элемента, в суммировании будет участвовать значение number('five'), то есть не-число ( NaN).

Функции floor и ceiling

number floor( number )

number ceiling( number )

Функции floorи ceiling(англ. пол и потолок соответственно) осуществляют округление численного аргумента до ближайшего не большего и ближайшего не меньшего целого соответственно.

Примеры

floor(2.3)2

ceiling(2.3)3

floor(-2.3)-3

ceiling(-2.3)-2

floor(-1 div 0)-Infinity

ceiling(-1 div 0)-Infinity

floor('zero')NaN

ceiling(-1 div (-1 div 0))0

Функция round

number round( number )

Функция roundокругляет число до ближайшего целого значения. У этой функции есть несколько нюансов, которые мы сейчас разберем.

□ Если дробная часть числа равна 0.5, то функция вернет ближайшее большее целое.

□ Если аргумент является не-числом (NaN), то результат также будет NaN.

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

□ Если аргумент является положительным или отрицательным нулем, результатом будет также положительный или отрицательный нуль, то есть аргумент не изменится.

□ Если аргумент меньше нуля, но больше или равен — 0.5, результатом будет отрицательный нуль.

Примеры

round(2.5)3

round(2.49)2

round(-1.7)-2

1 div round(0.5)Infinity

1 div round(-0.5)-Infinity

round(1 div 0)Infinity

round('one')NaN

Строковые функции

Функция string

string string( object ?)

Подобно функциям booleanи number, функция stringпреобразует свой аргумент к строковому типу явным образом. Если аргумент опущен, функции передается множество узлов, состоящее из единственного контекстного узла.

Напомним вкратце правила приведения других типов к строке.

□ Булевые значения преобразуются в строку следующим образом:

• "истина" ( true) преобразуется в строку " true";

• "ложь" ( false) преобразуется в строку " false".

□ Числа преобразуются к строковому виду следующим образом:

• не-число ( NaN) преобразуется в строку " NaN";

• положительный нуль преобразуется в строку " 0";

• отрицательный нуль преобразуется в строку " 0";

• положительная бесконечность преобразуется в строку " Infinity";

• отрицательная бесконечность преобразуется в строку " -Infinity";

• положительные целые преобразуются в свое десятичное представление без ведущих нулей и без точки (" ."), отделяющей дробную часть от целой;

• отрицательные целые преобразуются так же, как и положительные, но с начальным знаком "минус" (" -");

• остальные числа преобразуются в десятичное представление с использованием точки (" ."), отделяющей целую часть от дробной части; целая часть не содержит ведущих нулей (кроме случая с числами в интервале (-1;1)), дробная часть содержит столько цифр, сколько требуется для точного представления числа.

□ Множество узлов преобразуется в строковое значение своего первого в порядке просмотра документа узла. Если множество пусто, функция возвращает пустую строку.

□ Объекты других типов преобразуются в строку в соответствии с собственными правилами. Например, результирующий фрагмент дерева преобразуется в конкатенацию всех своих строковых узлов.

Примеры

string(boolean(0))false

string(number('zero'))NaN

string(number('.50000'))0.5

string(number(00500.))500

Для строкового форматирования чисел рекомендуется использовать функцию XSLT format-numberсовместно с элементом xsl:decimal-format.

Функция concat

string concat( string , string , string *)

Функция concatпринимает на вход две или более строки и возвращает конкатенацию (строковое сложение) своих аргументов.

Пример:

concat('not','with','standing',' problem')'notwithstanding problem'

Функция starts-with

boolean starts-with( string , string )

Функция starts-withпринимает на вход два строковых аргумента и возвращает true, если первая строка начинается второй и falseв противном случае.

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

Интервал:

Закладка:

Сделать


Алексей Валиков читать все книги автора по порядку

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




Технология XSLT отзывы


Отзывы читателей о книге Технология XSLT, автор: Алексей Валиков. Читайте комментарии и мнения людей о произведении.


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

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