The problem with this
method is that it produces each <info> group twice
I think you just want one key not two:
<xsl:key name="entries" match="data|data2" use="info"/>
or perhaps
<xsl:key name="entries" match="d/*" use="info"/>
if in reality any child of d will do.
then modify the for-each accordingly:
<xsl:for-each
select="d/*[self::data or
self::data2][generate-id(.)=generate-id(key('entries',info))]"
or
<xsl:for-each
select="d/*[generate-id(.)=generate-id(key('entries',info))]"
David
--
The LaTeX Companion
http://www.awprofessional.com/bookstore/product.asp?isbn=0201362996
http://www.amazon.co.uk/exec/obidos/tg/detail/-/0201362996/202-7257897-0619804
________________________________________________________________________
This e-mail has been scanned for all viruses by Star Internet. The
service is powered by MessageLabs. For more information on a proactive
anti-virus service working around the clock, around the globe, visit:
http://www.star.net.uk
________________________________________________________________________