我有3个索引functoid,每个都从源模式中的特定记录接收一个值。如果第一个索引中有一个值,并且第二个索引中没有值,那么它应映射第一个索引值。如果第二个索引具有值,则应该映射该值。
第三个索引functoid应该只映射它的值,如果有的话。
在我的测试文件中,第一个索引将返回一个值,因为它已填充而第二个索引不会,但我的字符串连接functoid不会向目标模式返回任何内容,因此不会映射所需的记录。
我似乎无法理解为什么会出现这种情况。逻辑对我来说似乎很合理,并且字符串连接中应该有一个值来映射。
答案 0 :(得分:2)
值映射将确定是否根本生成输出,对之后的任何内容采取“优先级”。如果您调试地图,您将看到Visual Studio在您的连接周围创建了两个嵌套的java.lang.IllegalArgumentException: Supplied id must be of type Long (native graph id) when supplied class does not have primary id - com.models.SkillCluster
语句,但由于它们永远不会同时存在代码无法访问。
一个选项是用Scripting functoid替换你的Value Mapping functoid并做类似的事情:
<xsl:if>