Как я могу создать функцию if else в пользовательском XPath в узле графического сопоставления в IIB? - PullRequest
0 голосов
/ 29 мая 2020

В узле графического отображения в IIB (IBM Integration Bus) мне нужно присвоить текстовое значение элементу ответного сообщения. Я хочу сделать это с помощью встроенных преобразований XPath в узле сопоставления.

Текстовое значение является условным в зависимости от того, существует ли элемент или пуст в сообщении запроса.

Что такое идет не так в коде ниже XPath?

if (fn:exists($BookName) and (fn:nilled( $BookName) = false)) then 'text1' else 'text2'

Ответы [ 2 ]

0 голосов
/ 19 июня 2020

fn:exists() у меня тоже не работало. Мне пришлось изменить на fn:string-length($BookName)>0, чтобы выяснить, имеет ли переменная значение или нет. Работает и в случае NULL.

0 голосов
/ 29 мая 2020

В вашем коде нет ничего принципиально неправильного, поэтому было бы хорошо знать, почему он не работает.

Вы можете совершать всевозможные ошибки, например, непонимание того, что существует () и nilled () работают, но мы действительно не можем догадаться, не увидев симптомов и немного большего контекста - например, к чему на самом деле привязано $ BookName?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...