The following XSLT works fine using MSXML 4.0 (e.g I receive a result in
about 20 seconds), but effectively hangs in both .NET 1.0 sp2 with the XML
hot fix and NET 1.1. My source XML file is large at over 46,000
<atl_client> nodes
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<!-- lookup port parent on portfolio long name *** uses parsed
portparent_lkup xml file -->
<xsl:key name="client_key_lkp" match="atl_client" use="client_key"/>
<xsl:template match="/">
<xsl:variable name="unique_client_recs"
select="atl_clients_load/atl_client[generate-id(.)=generate-id(key('client_k
ey_lkp',client_key[1]))]"/>
<client_recs>
<xsl:for-each select="$unique_client_recs">
<client_key>
<xsl:value-of select="$unique_client_recs"/>
</client_key>
</xsl:for-each>
</client_recs>
</xsl:template>
</xsl:stylesheet>
Here is a sample of the structure and my desired result is to return all of
the atl_elements that have a unique client_key element value.
(e.g. <atl_load>123</atl_load>
<atl_load>124</atl_load>
<atl_loads>
<atl_load>
<client_key>123</client_key>
....
</atl_load>
<atl_load>
<client_key>123</client_key>
....
</atl_load>
<atl_load>
<client_key>124</client_key>
....
</atl_load>
<atl_load>
<client_key>124</client_key>
....
</atl_load>
*** 45000 more of these atl_loads elements in my document
</atl_loads>
I would appreciate any input on this.
Larry R.