我有两个不同父项下的值的输入:
预览>页面>产品>字段>字段>值
和
预览>页面>产品>子产品>产品>字段>字段>值
我需要对按首字母分组的两个值求和。
缩写也位于两个不同的节点下。
这是输入:
<?xml version="1.0" encoding="UTF-8"?>
<preview>
<page id="6661" templateId="16" templateName="Source">
<fields>
<field definitionId="12">
<name>Sidenavn</name>
<value>Side11</value>
</field>
</fields>
<product headlineId="6697">
<fields>
<field definitionId="608">
<name>Initialer</name>
<value>JFR</value>
</field>
<field definitionId="621">
<name>Forv. oms. numeric</name>
<value>10.00</value>
</field>
</fields>
<subProducts>
<product headlineId="6697">
<fields>
<field definitionId="608">
<name>Initialer</name>
<value>LBD</value>
</field>
<field definitionId="621">
<name>Forv. oms. numeric</name>
<value>15.00</value>
</field>
</fields>
<logos/>
</product>
<product headlineId="6697">
<fields>
<field definitionId="608">
<name>Initialer</name>
<value>LBD</value>
</field>
<field definitionId="621">
<name>Forv. oms. numeric</name>
<value>20.00</value>
</field>
</fields>
</product>
<product headlineId="6697">
<fields>
<field definitionId="608">
<name>Initialer</name>
<value>JFR</value>
</field>
<field definitionId="621">
<name>Forv. oms. numeric</name>
<value>12.00</value>
</field>
</fields>
</product>
</subProducts>
</product>
</page>
</preview>
我尝试使用/ xsl:for-each-group,如下所示,但只能分别用于产品和子产品。
</xsl:for-each-group>
<xsl:for-each-group select="//page/product/subProducts/product" group-by="./fields/field[@definitionId='608']/value">
<xsl:for-each select="current-group()">
</xsl:for-each>
[...]
所以预期结果应该是这样的:
JFR 22
LBD 35
我现在要做的就是分别为“产品”和“子产品”节点汇总和分组值。
结果如下:
JFR 10
LBD 35
JFR 12