Это преобразование XSLT 1.0 :
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:key name="kNamesByVal" match="Name" use="."/>
<xsl:template match="/">
<t>
<xsl:copy-of select=
"*/*/Name[generate-id()
=
generate-id(key('kNamesByVal', .)[1])
]
"/>
</t>
</xsl:template>
</xsl:stylesheet>
при применении к предоставленному XML-документу дает нужный, правильный результат :
<t>
<Name>HAREDIN </Name>
<Name>HARMENAK</Name>
</t>
Решение XSLT 2.0 , в котором не используются ключи:
<xsl:stylesheet version="2.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output omit-xml-declaration="yes" indent="yes"/>
<xsl:template match="/">
<t>
<xsl:for-each-group select="*/*/Name" group-by=".">
<xsl:copy-of select="."/>
</xsl:for-each-group>
</t>
</xsl:template>
</xsl:stylesheet>