[xsl] Q on incremental processing and count()

Hi people,
I'm new to this list but with some experience in Cocoon.
Now I have a probem I cann't solve myself.
I use xalan as transformer.
My xml looks like this:
<table>
<thead>
<th-row>...</th-row>
<th-row>...</th-row>
</thead>
<tbody>
<row>...</row>
<row>...</row>
</tbody>
</table>
In my xsl I need a variable which is the count of <th-row>
If I use:
<xsl:variable name="col-num">
<xsl:value-of select="10"/>
</xsl:variable>
The I see the incremental processing works fine.
But I have to use:
<xsl:variable name="col-num">
<xsl:value-of select="count(thead/th-row)"/>
</xsl:variable>
But now I see the result if all row nodes are processed.
I also changed to <xsl:value-of select="count(thead[position() = 1]/th-row)"/>
but also this didn't help.
Can anybody tell me the solution or is this not possible?
Regards,
Michael
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list