2013-06-28 2 views
0

Есть ли буква NULL в XPath 1.0 или 2.0?NULL литерал в XPath

Мой вариант использования заключается в том, что у меня есть условное выражение() XPath, и я хочу вернуть NULL, чтобы обозначить определенное условие. Я боюсь, что возврат пустой строки может быть неоднозначным в моем случае, поскольку это может быть допустимым результатом другой части выражения if then else.

ответ

2

Пустая последовательность () может использоваться как таковая. Он также возвращается, если для выражения пути нет результата.

let $foo := "foo" 
return 
    if ($foo = ("foo", "bar", "batz")) then 
    $foo 
    else 
    () 

Вы можете проверить пустую последовательность, используя

let $result :=() 
return empty($result) 

Если вы передаете результат первого выражения XPath в родной код, вы должны быть в состоянии отличить «NULL» от пустой строки не имея результатов (пустая последовательность/«NULL») или имеющая строку результатов (которая может быть пустой).