Nintex для O365: неверный запрос XPath. Выражение должно оцениваться как набор узлов

У меня есть форма Infopath, в которой есть разделы, пронумерованные от 0 до 14. Они заполняются на основе некоторых правил. Я хотел бы использовать действие «Запрос XML», чтобы получить только те, которые имеют значения в узлах (где {n} — следующее число от 0 до 14). Затем я использую следующий запрос XPath:

//my:Approvals/*[starts-with(name(), 'my:Approve')][*[starts-with(name(), 'my:ID') and text() >= 0]]

Когда я тестирую запрос с помощью тестера http://www.xpathtester.com/xpath, возвращает мне 3 узла. Однако, когда я выполняю свой рабочий процесс, обрабатывая сообщение об ошибке журнала действий:

Недопустимый запрос XPath. Выражение должно оцениваться как набор узлов..

Я понятия не имею, как отладить, что возвращает это действие или что я делаю неправильно, когда, с другой стороны, тестер XPath говорит мне, что все должно быть правильно...

Я очень ценю любую помощь

С уважением, Томаш


person Tomasz    schedule 25.11.2016    source источник
comment
есть ли разница, если вы попробуете //*[name() = 'my:Approvals']/*[starts-with(name(), 'my:Approve')][*[starts-with(name(), 'my:ID') and text() >= 0]] ?   -  person Keith Hall    schedule 25.11.2016
comment
@KeithHall это не так. На самом деле эта конструкция возвращает 0 узлов при тестировании с помощью xpathtester...   -  person Tomasz    schedule 25.11.2016


Ответы (1)


Вроде бы все было правильно. Ну, лучший запрос:

//my:Approvals/*[starts-with(name(), 'my:Approve')][*[starts-with(name(), 'my:ID') and text()[number()>=‍0]]]

Итак, тот, который скрывает значение узла в число, но в конце концов проблема заключалась в том, что тестируемое значение передавалось как переменная и... оказалось, что оно было пустым во время сравнения.

Так что мой плохой, спасибо за ваше время, пытающееся выяснить, что не так;)

С уважением, Томаш

person Tomasz    schedule 27.11.2016