XSLT2.0 を使用しているため、xsl:for-each-groupを使用して、パラメーター要素の ID でイベント要素をグループ化できます。
<xsl:for-each-group select="Event" group-by="Parameter[Name='#ID']/Value">
「AMT」要素を合計するか、個別に出力するかはわかりませんが、個別に出力するには、これを行います(別の一致するテンプレートを使用して出力します)
<xsl:apply-templates select="current-group()/Parameter[Name='AMT']"/>
そして、それらを合計するには、次のようにします
<xsl:value-of select="sum(current-group()/Parameter[Name='AMT']/Value)"/>
ここに完全な XSLT があります
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/*">
<xsl:for-each-group select="Event" group-by="Parameter[Name='#ID']/Value">
<Result>
<ID>
<!-- <xsl:value-of select="Parameter[Name='#ID']/Value"/> -->
<xsl:value-of select="current-grouping-key()" />
</ID>
<xsl:apply-templates select="current-group()/Parameter[Name='AMT']"/>
<TOTAL_AMT>
<xsl:value-of select="sum(current-group()/Parameter[Name='AMT']/Value)"/>
</TOTAL_AMT>
</Result>
</xsl:for-each-group>
</xsl:template>
<xsl:template match="Parameter[Name='AMT']">
<AMT>
<xsl:value-of select="Value"/>
</AMT>
</xsl:template>
</xsl:stylesheet>
以下のXMLに当てはめると
<Events>
<Event>
<Parameter>
<Name>#ID</Name>
<Value>3</Value>
</Parameter>
<Parameter>
<Name>AMT</Name>
<Value>911</Value>
</Parameter>
</Event>
<Event>
<Parameter>
<Name>#ID</Name>
<Value>3</Value>
</Parameter>
<Parameter>
<Name>AMT</Name>
<Value>10</Value>
</Parameter>
</Event>
<Event>
<Parameter>
<Name>#ID</Name>
<Value>4</Value>
</Parameter>
<Parameter>
<Name>AMT</Name>
<Value>11</Value>
</Parameter>
</Event>
</Events>
以下が出力されます
<Result>
<ID>3</ID>
<AMT>911</AMT>
<AMT>10</AMT>
<TOTAL_AMT>921</TOTAL_AMT>
</Result>
<Result>
<ID>4</ID>
<AMT>11</AMT>
<TOTAL_AMT>11</TOTAL_AMT>
</Result>