Оператор «или» в XPath - это не «|», это «или».
«|»оператор формирует объединение между двумя наборами узлов, его нельзя применить к логическому значению (например, результат (A = B)).
Легко быть введенным в заблуждение, когда вы видите что-то вроде match="x|y"
думать, что это соответствует «х или у».На самом деле он соответствует объединению x и y, то есть чего угодно в наборе всех элементов x и y.