基于条件的两个节点的XSL/XPATH和
下面是我的示例XML基于条件的两个节点的XSL/XPATH和,xpath,xslt-2.0,Xpath,Xslt 2.0,下面是我的示例XML <Header> <id> 1234 <id> <type> abcd <type> <account> <code1>a11 </code1> <code2>a12 </code2> <expense> <cost> 10 </cost> <descript
<Header>
<id> 1234 <id>
<type> abcd <type>
<account>
<code1>a11 </code1>
<code2>a12 </code2>
<expense>
<cost> 10 </cost>
<description> Travel </description>
</expense>
<expense>
<cost> 30 </cost>
<description> Travel </description>
</expense>
<expense>
<cost> 20 </cost>
<description> Hotel </description>
</expense>
<expense>
<cost> 10 </cost>
<description> Hotel </description>
</expense>
</account>
</Header>
1234
abcd
a11
a12
10
旅行
30
旅行
20
酒店
10
酒店
我需要以XML格式显示结果,如下所示
<Header>
<id> 1234 <id>
<type> abcd <type>
<code1>a11 </code1>
<code2>a12 </code2>
<description> Travel </description>
<cost> 40 </cost> <!-- sum of cost nodes, if description is Travel -->
<description> Hotel </description>
<cost> 30 </cost> <!-- sum of cost nodes, if description is Hotel -->
</Header>
1234
abcd
a11
a12
旅行
40
酒店
30
如何根据条件在XSLT 2.0中编写成本总和?
<xsl:template match="Header/account">
...
<cost><xsl:value-of select="sum(expense[contains(description, 'Travel')]/cost)"/></cost>
...
<cost><xsl:value-of select="sum(expense[contains(description, 'Hotel')]/cost)"/></cost>
</xsl:template>
...
...
应该这样做,在我放置…
的位置添加其他元素