Поиск без учёта регистра в XQuery
Александр, в Вашем примере '[myfield contains "+filter_val+"]' возможно ошибка? Т.к. и слева и справа от contains используются данные из myfield.
В конструкции [xxx contains yyy] у меня нет проблемы с yyy. Я успешно вычисляю yyy.
Есть проблема с xxx.
Чтобы выполнить поиск без учёта регистра, содержится ли yyy в xxx, я должен обе части xxx и yyy привести к одинаковому регистру, например всё к большим символам.
Сначала на JavaScript у меня успешно вычисляется yyy = ТЕСТ и подставляется в Конструкцию doc-contains($elem/id, '', '[myfield contains ТЕСТ]').
Затем эта Конструкция используется в запросе внутри XQuery.
У меня проблема в том, что не получается xxx привести тоже к большим символам как yyy = ТЕСТ.
Вместо '[myfield contains ТЕСТ]' я пробовал использовать '[upper-case(myfield) contains ТЕСТ]' '[upper(myfield) contains ТЕСТ]' и прочие варианты, но они не работают.
Контекст моей исходной задачи в том, что на доработанной странице "Поиск по порталу" мне нужно находить Сотрудников, у которых кастомное настраиваемое поле myfield содержит искомый текст введённый пользователем, например ТЕСТ. Моя реализация работает, но ищет с учётом регистра, а нужно без учёта регистра.
Поле myfield в Сотрудниках содержит символы разного регистра. Как правильно искать без учёта регистра в конструкции doc-contains($elem/id, '', '[myfield contains ТЕСТ]') ? 🙏
Или вместо данной конструкции doc-contains какую можно использовать конструкцию для поиска по кастомному полю? 🙏
arrObjects = ArraySelectAll( XQuery( "for $elem in collaborators where (doc-contains($elem/id, '', '[myfield contains ТЕСТ]')) order by $elem/fullname return $elem/Fields('id','fullname')" ) );