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

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

Шрифт:

false and $var
→
false

Это выражение всегда будет ложным вне зависимости от значения переменной

var
, поскольку конъюнкция (логическая операция "и") с тождественной "ложью" всегда будет "ложью".

Функция lang

boolean lang(string)

Функция

lang
может использоваться для того, чтобы определить языковой контекст контекстного узла. В элементах XML можно использовать атрибут
lang
пространства имен
xml
для определения языка содержимого узла, например;

<text xml:lang="en-gb">

Yet no living human being have been ever blessed with seeing...

</text>

Пространство имен, соответствующее префиксу

xml
, не требуется объявлять. Это служебное пространство имен, которое неявно задано во всех XML-документах.

Функция

lang
возвратит "истину", если идентификатор языка, который передан ей в виде строкового параметра, соответствует языковому контексту контекстного узла. Это определяется следующим образом.

□ Если ни один из предков контекстного узла не имеет атрибута

xml:lang
, функция возвращает "ложь".

□ Иначе строковый параметр проверяется на соответствие значению атрибута

xml:lang
ближайшего предка. Если эти значения равны в любом регистре символов, или атрибут начинается как значение параметра функции и имеет суффикс, начинающийся знаком "
–
", функция возвращает "истину".

□ В противном случае функция возвращает "ложь".

Примеры:

Функция

lang('en')
возвратит "истину" в контексте любого из следующих элементов:

<body xml:lang="EN"/>

<body xml:lang="en-GB"/>

<body xml:lang="en-us"/>

<body xml:lang="EN-US"/>

Функция

lang('de')
возвратит "истину" в контексте элемента
b
и "ложь" — в контексте элементов
а
и
с
:

<а>

 <b xml:lang="de">

<c xml:lang="en"/>

 </b>

</a>

Числовые функции

Функция number

number number(object?)

Функция

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

□ Значения булевого типа преобразуются в

0
или
1
следующим образом: "ложь" преобразуется в
0
, "истина" в
1
.

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

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

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

Примеры

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
суммирует значения узлов из переданного ей множества. Строковые значения узлов сначала преобразуются в числа, а затем все полученные числа складываются.

Пример
  • Читать дальше
  • 1
  • ...
  • 117
  • 118
  • 119
  • 120
  • 121
  • 122
  • 123
  • 124
  • 125
  • 126
  • 127
  • ...

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

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

  • Моя полка

Контакты

  • chitat.ebooker@gmail.com

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