NULL-литерал в XPath
Существует ли NULL-литерал в XPath 1.0 или 2.0?
Мой вариант использования, что у меня есть условное (if then else
) Выражение XPath и я хочу вернуть NULL для обозначения определенного условия. Я боюсь, что возвращение пустой строки может быть неоднозначным в моем случае, так как это может быть действительным результатом другой части if then else
выражение.
1 ответ
Пустая последовательность ()
может быть использован как таковой. Он также возвращается, если для выражения пути нет результата.
let $foo := "foo"
return
if ($foo = ("foo", "bar", "batz")) then
$foo
else
()
Вы можете проверить наличие пустой последовательности, используя
let $result := ()
return empty($result)
Если вы передадите результат первого выражения XPath в свой собственный код, вы сможете отличить "NULL" от пустой строки, не имея результатов (пустая последовательность / "NULL") или имея строку результата (которая может быть пустой).).