从xsl1.0中的两个xml文件中选取值

时间:2013-04-12 11:42:32

标签: xml xslt xslt-1.0

我有两个XML文件,Input1和Input2。我必须在输出中生成总和,但从两个输入中选择值。

例如 -

<xsl:value-of select="sum(//INVOICE/DOC/EINV[document('input2.xml')/Codes/Description[@code=../ABC][@type = '2']]/BET)"/>   

此语句中的路径适用于Input1.xml。在它们之间,它检查文件Input2.xml,@ type将始终为'2',@ code(@ in input2.xml)值将为/ abc(input1.xml元素)元素值。

Input1.xml -

INVOICE
 DOC
  EINV
   ABC
   BET
  EINV
 DOC
INVOICE

1 个答案:

答案 0 :(得分:0)

我认为你正在寻找这个:

  <xsl:param name="file1" select="//INVOICE/DOC/EINV/BET"/>
  <xsl:param name="file2" select="document('input2.xml')/Codes/Description[@code=../ABC][@type = '2']/BET"/>
  <xsl:value-of select="sum($file1,$file2)"/>