字符串连接 functoid 不将映射值返回到目标记录

String concatenate functoid not returning mapped values to destination record

我有 3 个索引 functoid,每个都从源架构中的特定记录接收值。如果第一个索引中有值,而第二个索引中没有值,则它应该映射第一个索引值。如果第二个索引有一个值,它应该映射那个值。

第三个索引 functoid 应该只映射它的值(如果有的话)。

在我的测试文件中,第一个索引将 return 一个值,因为它已填充而第二个未填充,但我的字符串连接 functoid 不会 return 任何目标模式,因此未映射所需的记录。

我似乎无法理解为什么会出现这种情况。这个逻辑对我来说似乎很合理,字符串连接中应该有一个值来映射。

值映射将决定是否生成输出,'priority' 接管后面的内容。如果您调试地图,您会看到 Visual Studio 在您的连接周围创建了两个嵌套的 <xsl:if> 语句,但由于它们永远不会同时为真,因此代码无法访问。

一个选项是用脚本 functoid 替换您的值映射 functoid 并执行如下操作:

public string MyValueMapping(bool mapValue, string value)
{
  return (mapValue ? value : string.Empty);
}