Xslt BizTalk映射:源记录不存在,但需要映射并传递默认值

Xslt BizTalk映射:源记录不存在,但需要映射并传递默认值,xslt,biztalk,Xslt,Biztalk,我有一个源模式,其中特定记录是可选的,而在源消息实例中该记录不存在。我需要将此记录映射到目标记录,场景类似于如果源记录不存在,则需要将默认值0映射到目标节点。如果它确实存在,则需要按原样传递源节点值(后面是一些算术运算) 我尝试过使用各种functoid组合,如逻辑存在,然后是值映射、记录计数、字符串存在等。还尝试过在脚本functoid和xslt中使用c#,但没有任何效果。映射不存在的记录非常困难。我在这个记录上面有几个记录,它们映射得很好,它们确实存在。不管我写了多少c#和xslt代码组合,

我有一个源模式,其中特定记录是可选的,而在源消息实例中该记录不存在。我需要将此记录映射到目标记录,场景类似于如果源记录不存在,则需要将默认值0映射到目标节点。如果它确实存在,则需要按原样传递源节点值(后面是一些算术运算)

我尝试过使用各种functoid组合,如逻辑存在,然后是值映射、记录计数、字符串存在等。还尝试过在脚本functoid和xslt中使用c#,但没有任何效果。映射不存在的记录非常困难。我在这个记录上面有几个记录,它们映射得很好,它们确实存在。不管我写了多少c#和xslt代码组合,感觉脚本functoid永远不会接受不存在的记录或节点链接。请注意,此记录如果存在,可以重复多次


使用BizTalk2013r2。

如果记录不存在(记录不存在,甚至不是),您可以使用这个简单的functoid组合


将记录链接到逻辑存在,如果存在,它将由顶级值映射发送。如果不退出,则第二个条件将为true,并且将从底部的值映射发送零。

如果记录不存在(记录不存在,甚至不是作为),则可以使用此简单的functoid组合


将记录链接到逻辑存在,如果存在,它将由顶级值映射发送。如果未退出,则第二个条件将为true,并且将从底部的值映射发送零。

仅当源记录存在时,此操作才有效。如果源记录丢失,则不会生成默认值0,甚至不会生成空的目标记录。如果源记录不存在,则会发送0。如果您共享地图和输入XML,我可以为您提供更多帮助。这仅在源记录存在时有效。如果源记录丢失,则不会生成默认值0,甚至不会生成空的目标记录。如果源记录不存在,则会发送0。如果您共享地图和输入XML,我可以为您提供更多帮助。