Одно решение, которое позволяет избежать множественных сравнений: :
VAR1 and VAR1/text()[not(contains('A+B+C', .))]
где строка +
гарантированно не содержится в VAR1/text()
(если «+» не удовлетворяет этому требованию, замените «+» на строку, которая соответствует)
Обратите внимание , что в вопросе есть вероятная логическая ошибка:
x != 'A' or x != 'B' or x != 'C'
всегда верно
Скорее всего, вы хотели:
x != 'A' and x != 'B' and x != 'C'