在IIB (IBM Integration Bus)的图形映射节点中,我需要为响应消息的一个元素分配一个文本值。我想使用映射节点中的内置XPath转换来完成此操作。
文本值是有条件的,取决于请求消息中的元素是否存在。
下面的XPath代码出了什么问题?
if (fn:exists($BookName) and (fn:nilled( $BookName) = false)) then 'text1' else 'text2'
发布于 2020-05-29 18:40:01
您的代码没有本质上的错误,所以知道它是如何失败的是很好的。
你可能会犯各种各样的错误,例如误解exists()和nilled()函数的作用,但我们真的不能在看不到症状和更多上下文的情况下猜测-例如,$BookName实际上绑定到了什么?
发布于 2020-06-19 09:22:40
fn:exists()
也没有为我工作。我必须更改为fn:string-length($BookName)>0
,以确定变量是否有值。在NULL
的情况下也有效。
https://stackoverflow.com/questions/62088599
复制