Hello,
I'm currently tracing down that error in xsltc transformation from last 
week. In the source below  I marked two lines with ==> - the first one 
shows me how many nodes were selected before calling the template 
handleN. The result was > 0 in my tests and that was ok: handleN got a 
filtered list of N in $ns. The second comment didn't appear in the 
result. I placed a comment above the for-each, too, and the variable $ns 
still held a number of nodes. but the for-each sort returned without 
doing the requested work. If I remove the xsl:sort tags in in the 
for-each it works. So sorting is working wrong. Or do you see another 
problem? Keep in mind, this source did work with internal xalan in 1.4.2 
and id also works with external xalan 2.7 in 1.5/1.6.
Kind regards,
Kai
I dived in using comments in the output to see, where I have what values.
   <xsl:key name="ADNCategory" match="AD/N"
       use="concat(generate-id(..) , string(Category))"/>
   <xsl:template name="displayN">
       <xsl:variable name="currentAD" select="."/>
       <!-- Alle Categories durchgehen -->
       <xsl:variable name="categories"
           select="N[generate-id(.)= generate-id(key('ADNCategory', 
concat(generate-id($currentAD) , string(Category)))[1])]/Category"/>
       <xsl:for-each select="$categories">
           <xsl:variable name="category" select="."/>
           <xsl:variable name="nPerCategory"
                select="$currentAD/N[Category = $category]"/>
==>            <xsl:comment>N selected: <xsl:value-of 
select="count($nPerCategory)"/></xsl:comment>
           <xsl:call-template name="handleN">
               <xsl:with-param name="ns" select="$nPerCategory"/>
           </xsl:call-template>
       </xsl:for-each>
   </xsl:template>
   <xsl:template name="handleN">
       <xsl:param name="ns"/>
       <tr>
          <td colspan="2">
             <xsl:for-each select="$ns">
                 <xsl:sort select="Year" data-type="number" 
order="descending"/>
                 <xsl:sort select="Number" data-type="number" 
order="descending"/>
==>               <xsl:comment>current N: <xsl:value-of 
select="."/></xsl:comment>
                 <xsl:call-template name="nHeader"/>
                 <xsl:text> </xsl:text>
             </xsl:for-each>
          </td>
      </tr>
   </xsl:template>