Как проверить пустое ли поле в doc-contains() в XQuery?

Для проверки, является ли поле пустым при использовании функции doc-contains() в XQuery, можно использовать функцию fn:empty().

Функция doc-contains() позволяет проверить наличие определенного значения в XML-документе. Если поле содержит заданное значение, функция doc-contains() возвращает true, в противном случае - false.

Для проверки, является ли поле пустым, вы можете использовать следующую конструкцию:

fn:empty(doc-contains(field, 'значение'))

Здесь field - это имя поля, которое нужно проверить, а 'значение' - это значение, наличие которого нужно проверить в поле.

Функция fn:empty() возвращает true, если выражение, переданное ей в качестве аргумента, является пустым. В противном случае, если выражение не является пустым, функция fn:empty() возвращает false.

Если функция doc-contains() возвращает true, это означает, что значение найдено в поле, и, следовательно, поле не является пустым. Если функция doc-contains() возвращает false, это означает, что значение не найдено, и поле является пустым.

Вот пример использования этой конструкции в XQuery:

let $field := doc-contains(field, 'значение')
return if(fn:empty($field)) then 'Поле пусто' else 'Поле не пусто'

В этом примере мы сохраняем результат doc-contains() в переменной $field, затем с помощью функции fn:empty() проверяем, является ли переменная $field пустой. Если так, то выводим 'Поле пусто', в противном случае выводим 'Поле не пусто'.