Функция fn:boolean(X)
возвращает эффективное логическое значение для X. Например, эффективное логическое значение 1 - true, 0 - false, "true" - true, "" false ",ложь "есть (подожди) правда.EBV узла (или непустой последовательности узлов) имеет значение true, что делает выражения типа X[following-sibling::X]
работающими.
Эффективное логическое значение логического значения является логическим неизменным: это относится к вашему примеру.
В двух случаях обращение к fn: boolean бессмысленно:
, где аргумент функции уже является логическим, как в вашем примере
, где вызов появляется в контексте, таком как условие XPath2.0 Выражение «if», или предикат в квадратных скобках, или атрибут test
, равный xsl:if
, где уже действует неявный вызов fn:boolean()
.
В других контекстах, например, когда вы предоставляете аргумент функции или связываете значение переменной XSLT или XQuery, явный вызов fn: boolean может быть полезен для принудительного перевода значения в правильный тип.Это также может помочь читателю вашего кода понять, что происходит преобразование типов.