空十进制标记不接受''值,根据其数据类型无效

时间:2018-04-04 08:17:18

标签: xml xslt mapping biztalk

我在测试地图时收到此错误:

  

根据数据类型,值''无效   'http://www.w3.org/2001/XMLSchema:decimal' - 字符串''不是   有效的十进制值。

标签“LineAmount”出现在输入文件中,但为空。我在输出值之前尝试进行“IsBlank”检查,但它给了我同样的错误。标签是可选的,应该可以不包含值。是否无法在XSLT中发送空十进制标记?

这是有问题的标签:

<LineAmount/>

2 个答案:

答案 0 :(得分:1)

因此,错误是正确的,因为''(空字符串)不是有效的十进制。

您需要做的第一件事是确定完全目标值应该是什么,具体来说,0或者根本不显示。

如果目标应始终显示,如果源为空,则为0,则需要使用带有TryParse()的Scripting Functoid。

如果源为空时不应出现目标字段,则可以使用一些Functoid抑制目标。例如:

  

来源 - &gt;相等(来源&amp;'') - &gt;逻辑不 - &gt;目标

这意味着如果源不是'',则只包括目标。您仍然会单独链接该值。

答案 1 :(得分:0)

您应该使用&#34;值映射&#34; functoid链接或不链接LineAmount。

第一个参数应该是一个布尔值,表示该字段是否有值,第二个参数是LineAmount本身。