Вход/Регистрация
Технология XSLT
вернуться

Валиков Алексей Н.

Шрифт:

□ узел комментария

<!-- start -->
;

□ узел инструкции по обработке

<?app open?>
;

□ узел элемента

a
;

□ узел пространства имен

"urn:а"
;

□ узел пространства имен

"urn:b"
;

□ атрибут

level
;

□ текстовый узел "

alpha
";

□ узел элемента

b:bravo
;

□ узел пространства имен

"urn:а"
;

□ узел пространства имен

"urn:b
";

□ комментарий с текстом "

To do ...
";

□ элемент

charlie
;

□ узел пространства имен

"urn:а"
;

□ узел пространства имен

"urn:b"
;

□ текстовый узел "

delta
";

□ узел инструкции по обработке

<?арр close?>
.

Рис. 3.11. Схема дерева XML-документа

Соответственно, обратный порядок просмотра документа будет начинаться с инструкции по обработке

<?app close?>
и заканчиваться корневым элементом.

Типы данных

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

int i = 15;

объявит переменную целого типа

int
с именем
i
и присвоит ей значение
15
. В этом случае тип данных ставится в соответствие переменной. XSLT относится к динамически типизируемым языкам, в которых тип данных ассоциируется не с переменными, а со значениями.

В XSLT выделяется пять типов данных:

□ булевый тип (boolean);

□ численный тип (number);

□ строковый тип (string);

□ множество узлов (node-set);

□ результирующий фрагмент дерева (result tree fragment).

Ниже мы подробно рассмотрим особенности работы со всеми пятью типами данных.

Булевый тип (boolean)

Булевый тип данных в XSLT может принимать два значения —

true
("истина") и
false
("ложь"). В XSLT нет констант для выражения тождественной "истины" или "лжи", как во многих других языках программирования, для этих целей следует использовать функции
true
и
false
.

Значение булевого типа могут быть получены путем сравнения других типов данных при помощи операторов сравнения (таких как "

=
", "
>
", "
<
") или как результат вычисления более сложных логических выражений с использованием операторов "
and
", "
or
" и функции
not
.

Булевый тип может быть неявно преобразован в число (

0
для
false
и
1
для
true
) или в строку (
"false"
и
"true"
соответственно).

Примеры:

1=2
→
0 (число)

not((2>1) and (2>3))
→
"true" (строка)

Численный тип (number)

Численный тип в XSLT определяется как 64-битное значение с плавающей точкой, двойной точности, соответствующее стандарту IEEE 754-1985. Этот стандарт используется во многих других языках программирования, и потому можно сказать, что арифметика в XSLT работает "как обычно". Вместе с тем, стандарт IEEE 754 имеет свои нюансы, которые обязательно надо учитывать в практике программирования на XSLT.

Согласно строгому определению, числа в XSLT имеют форму

s
×
m
×2
x
, где
s
— знак числа,
m
— его мантисса, а
x
— экспонента. Эти числа имеют следующие значения:

□ знак (

s
) равен
+1
для положительных чисел и
– 1
для отрицательных;

□ мантисса (

m
) — это положительное целое число в интервале от
0
до
253– 1
включительно;

□ экспонента (

x
) — это целое число в интервале от
– 1075
до
970
включительно.

Таким образом, числа в XSLT находятся в интервале приблизительно от

– 10317
до
10317
.

Кроме этого выделяются пять особых значений.

□ Отрицательная бесконечность. Это значение представляет отрицательные числа, меньшие, чем

– 10317
; оно соответствует математическому значению -∞. Отрицательная бесконечность может быть результатом таких операций, как деление отрицательного числа на нуль или умножение двух очень больших (в абсолютном значении) чисел разного знака в случае, когда для записи их произведения не хватит 64 бит.

  • Читать дальше
  • 1
  • ...
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • ...

Ебукер (ebooker) – онлайн-библиотека на русском языке. Книги доступны онлайн, без утомительной регистрации. Огромный выбор и удобный дизайн, позволяющий читать без проблем. Добавляйте сайт в закладки! Все произведения загружаются пользователями: если считаете, что ваши авторские права нарушены – используйте форму обратной связи.

Полезные ссылки

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

Подпишитесь на рассылку: