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

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

Шрифт:

□ равенство численных значений понимается в обычном смысле (строгое определение равенства чисел дано в стандарте IEEE 754, но вряд ли оно представляет для нас большой интерес);

□ две строки равны тогда и только тогда, когда они представлены одинаковыми последовательностями Unicode-символов.

Два значения простых типов (то есть — булевого, численного или строкового типа) неравны тогда и только тогда, когда для них не выполняется равенство.

Примеры сравнения значений простых типов:

□ 

true = 1
→
true

При приведении числа

1
к булевому типу получается "истина", что и подтверждается этим равенством.

□ 

true = 100
→
true

Результатом приведения числа

100
к булевому типу также является "истина".

□ 

false = 'false'
→
false

При приведении непустой строки "false" к булевому типу, получается "истина". Отсюда — неверность равенства.

□ 

.5 =0.5
→
true

.5
и
0.5
представляют одно и то же число, хоть и они записаны в разной форме.

□ 

.5 = '0.5'
→
true

Это равенство также будет верным, поскольку результатом преобразования строки "

0.5
" в число будет также
0.5
.

□ 

1 != 'two'
→
true

Результатом преобразования строки "

two
" в численный тип будет значение
NaN
, которое не равно
1
.

При сравнении с использованием операторов "

<
", "
<=
", "
>
" и "
>=
", оба операнда всегда приводятся к численному типу и сравниваются как числа.

Примеры сравнений с использованием операторов "

<
", "
<=
", "
>
" и "
>=
":

false &gt; true
→
false

В численном виде

true
соответствует
1
, a
false
—
0
, то есть это сравнение равносильно сравнению
0 > 1
, результатом которого является "ложь".

'0' &lt;= false
→
true

Это сравнение равносильно сравнению

0 <= 0
, результатом его будет "истина".

'1' &gt;= '0'
→
true

Это сравнение равносильно сравнению

1 >= 0
, результатом его будет "истина".

Следует обратить внимание, на то, что символы "

<
" и "
>
" заменены сущностями
&lt;
и
&gt;
соответственно. В случае символа "
<
" такая замена необходима, чтобы не нарушать выражениями синтаксис XML-документа. Заменять символ "
>
" обязательной нужды нет, это делается исключительно из соображений единообразности.

Логические операции

В XSLT имеются две логические операции —

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

Семантика

or
и
and
очевидна — они соответствуют операциям логического сложения и умножения.

Результатом операции

or
будет "истина", если хотя бы один из операндов является "истиной". При этом если первый операнд имеет значение
true
, второй операнд не вычисляется — результат и так будет "истиной".

Результатом операции

and
будет "истина", если оба операнда истинны. При этом если первый из операндов — "ложь", то второй операнд не вычисляется — результат и так будет "ложью".

Функции

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

Функции можно условно разделить на стандартные функции, которые определены в XPath и XSLT и должны поддерживаться (хотя на самом деле поддерживаются далеко не всегда) всеми XSLT-процессорами, и функции расширения, которые могут создаваться разработчиками в дополнение к стандартным функциям.

Контекст вычисления выражений

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

Контекст преобразования состоит из узла, называемого контекстным узлом, двух целых чисел — размера контекста и позиции в контексте, объявлений переменных, объявлений пространств имен и библиотеки функций.

  • Читать дальше
  • 1
  • ...
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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