我有一个传入的大型XML 2段
第一段。原始数据作为细分 第二段。应该传递的数据在第二个。
我正在第二个循环上运行,并检查第二个分段中FIeld1的值是否在第一个分段上存在。
问题:第一段相对于第二段中的Field1有多个收益,但是存储为1个字段,而我无法将它们作为字段分开。
下面是在第二段中的Field1上对整个第一段运行时的代码,它产生2个结果并将它们存储为一个字段值。我希望它们显示为单独的XML字段。
注意:当有1次点击时,此方法可以正常工作。
<xsl:variable name="CheckEmployeeExists">
<xsl:value-of select="../../PerEmail/PerEmail/emailAddress[personIdExternal=$EmpNumber]" />
</xsl:variable>
如何通过多个整数生成值的示例
<Personidexternal xmlns:xs="http://www.w3.org/2001/XMLSchema">801035 801035</Personidexternal>
我想要的就是这样
<Personidexternal>801035</Personidexternal>
<Personidexternal>801035</Personidexternal>
下面是在第二段中的Field1上对整个第一段运行时的代码,它产生2个结果并将它们存储为一个字段值。我希望它们显示为单独的XML字段。
注意:当有1次点击时,此方法可以正常工作。
<xsl:variable name="CheckEmployeeExists">
<xsl:value-of select="../../PerEmail/PerEmail/emailAddress[personIdExternal=$EmpNumber]" />
</xsl:variable>
如何通过多个整数生成值的示例
<Personidexternal xmlns:xs="http://www.w3.org/2001/XMLSchema">801035 801035</Personidexternal>
我想要的就是这样
<Personidexternal>801035</Personidexternal>
<Personidexternal>801035</Personidexternal>
答案 0 :(得分:0)
此构造有点代码味道:
<xsl:variable name="CheckEmployeeExists">
<xsl:value-of select="../../PerEmail/PerEmail/emailAddress
[personIdExternal=$EmpNumber]" />
</xsl:variable>
它使用单个文本节点构造一个文档节点,该文本节点的值是“选择”表达式(正是您所看到的)所选择的节点的字符串值的串联。
通常,当人们写这篇文章时,写起来要好得多
<xsl:variable name="CheckEmployeeExists"
select="../../PerEmail/PerEmail/emailAddress
[personIdExternal=$EmpNumber]" />
我无法确定您的情况是否如此,因为我们看不到使用该变量的代码,并且变量名的选择非常无益。
在不看更多代码的情况下无法告诉您如何更正代码;但这是一个猜测:
<xsl:copy-of
select="../../PerEmail/PerEmail/emailAddress/personIdExternal[.=$EmpNumber]">
请记住:
(a)声明变量的类型在XSLT 2.0中始终是一个好主意:它确定作者,读者和编译器都在同一个赞美诗页上。
(b)使用xsl:value-of
通常是一个错误,特别是当它是xsl:variable
或xsl:function
内的唯一指令时