Hallo Lukas,
Aber: in der Zieldatei soll jeder artikel nur einmal vorkommen,
in diesem beispiel sollte also bei artikel P1 die Production quantity 40 betragen.
Wenn das Ergebnis mittels XSLT entstehen soll, dann probiere diesen Ansatz:
<xsl:key name="groupby" match="Item" use="number"/>
<xsl:template match="/">
<output>
<xsl:for-each select="//Item[generate-id() = generate-id(key('groupby',number)[1])]">
<xsl:variable name="number" select="number"/>
<productionlist>
<production quantity="{sum(//amount[../following-sibling::Item[1]/number=$number])}" article="{$number}"/>
</productionlist>
</xsl:for-each>
</output>
</xsl:template>
Ergebnis:
<?xml version="1.0" encoding="UTF-8"?>
<output>
<productionlist>
<production quantity="40" article="P1"/>
</productionlist>
<productionlist>
<production quantity="10" article="K21"/>
</productionlist>
<productionlist>
<production quantity="10" article="K24"/>
</productionlist>
<productionlist>
<production quantity="10" article="K27"/>
</productionlist>
<productionlist>
<production quantity="10" article="E26"/>
</productionlist>
<productionlist>
<production quantity="10" article="E51"/>
</productionlist>
</output>
Grüße,
Thomas