нормализовать пространство в неожиданном поведении xquery - PullRequest
0 голосов
/ 24 июня 2019
let $e as xs:string *:= ()
let $s as xs:string := ''
return (exists(normalize-space($s)), exists($s), exists(normalize-space($e)), exists($e))

вернул true, true и true, false.

Я ожидаю, правда, правда и ложь, ложь

Я не ожидал, что нормализованное пространство пустой последовательности теперь существует, казалось неожиданным.

1 Ответ

0 голосов
/ 24 июня 2019

https://www.w3.org/TR/xpath-functions/#func-normalize-space говорит:

Если значение $ arg является пустой последовательностью, функция возвращает строка нулевой длины.

Таким образом, normalize-space($e) оценивается как пустая строка '' и exists непустой последовательности, подобной последовательности с единственной строкой (даже если пустая строка), возвращает true.

...