Я пытаюсь сделать выражение xpath из строкового литерала. Я создаю свой xpath из некоторых переменных, поэтому не могу их предварительно рассчитать. Я получаю что-то вроде этого:
count(concat("//sales:", "$variable", "Available"))
и это приводит к ошибке:
Can not convert #STRING to a NodeList!
Я думаю, что было бы достаточно, если бы я как-то оценил () результат concat, чтобы он стал фактическим NodeList. Есть ли подходящая функция для этого?
Я делаю эту текстовую манипуляцию в Apache Camel, но это не так важно, IMO.
РЕДАКТИРОВАНИЕ:
Если быть более точным: Apache Camel работает как конвейер, XML проходит через него, и вы можете обрабатывать эти XML несколькими способами - например, вводить некоторые правила, основанные на содержимом или структуре XML. Вот почему мне нужно, чтобы это было динамичным.
Моя ситуация выглядит так:
- посмотрите на xml и получите содержимое элемента operationName
- поиск в каком-либо другом документе элемента, сконструированного из строчной буквы operationName и строкового литерала 'Available'
Итак, если мое имя_операции имеет значение FOOBAR, я хочу проверить наличие узла // sales: foobarAvailable