标准化XQuery中的空间意外行为

时间:2019-06-24 19:44:49

标签: xquery

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 :(得分:0)

https://www.w3.org/TR/xpath-functions/#func-normalize-space说:

  

如果$ arg的值为空序列,则该函数返回   零长度字符串。

因此,normalize-space($e)的计算结果是非空序列的空字符串''exists,例如带有单个字符串(即使是空字符串)的空字符串,返回true。