Это простое преобразование :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:strip-space elements="*"/>
<xsl:param name="pId" select="958"/>
<xsl:template match="/">
<xsl:copy-of select="/*/I[@ParentID= $pId][last()]"/>
</xsl:template>
</xsl:stylesheet>
при применении к предоставленному документу XML :
<t>
<I ID="958" ParentID="1" TOTAL="12"/>
<I ID="959" ParentID="958" TOTAL="0"/>
<I ID="960" ParentID="958" TOTAL="0"/>
<I ID="961" ParentID="958" TOTAL="0"/>
<I ID="962" ParentID="958" TOTAL="0"/>
<I ID="963" ParentID="958" TOTAL="0" />
<I ID="964" ParentID="958" TOTAL="0"/>
<I ID="965" ParentID="958" TOTAL="0"/>
<I ID="964" ParentID="958" TOTAL="0"/>
<I ID="967" ParentID="958" TOTAL="0"/>
<I ID="968" ParentID="958" TOTAL="0"/>
<I ID="969" ParentID="958" TOTAL="0" />
<I ID="970" ParentID="958" TOTAL="0" />
<I ID="971" ParentID="2" TOTAL="12"/>
<I ID="972" ParentID="971" TOTAL="0"/>
<I ID="973" ParentID="971" TOTAL="0"/>
<I ID="974" ParentID="971" TOTAL="0"/>
<I ID="975" ParentID="971" TOTAL="0"/>
<I ID="976" ParentID="971" TOTAL="0" />
<I ID="977" ParentID="971" TOTAL="0"/>
<I ID="978" ParentID="971" TOTAL="0"/>
<I ID="979" ParentID="971" TOTAL="0"/>
<I ID="980" ParentID="971" TOTAL="0"/>
<I ID="981" ParentID="971" TOTAL="0"/>
<I ID="982" ParentID="971" TOTAL="0" />
<I ID="983" ParentID="971" TOTAL="0" />
</t>
дает желаемый, правильный результат :
<I ID="970" ParentID="958" TOTAL="0"/>
Примечание. : соответствующий parentId передается преобразованию как глобальный внешний параметр, что делает его многократно используемым.