So hab ich es jetzt gemacht, und funktioniert
<xsl:template match="table[@type='fromTable']">
<xsl:variable name="Anzahl_td" select="count(tr[1]/td[@class='bold'])"/>
fo:block
<fo:table width="100%" padding-after="1cm" >
<xsl:for-each select="tr/td">
<!--
<xsl:value-of select="count($Anzahl_tr)"/>
<xsl:value-of select="count(tr)"/>
<xsl:variable name="Anzahl_td" select="count(tr[1]/td)"/>
-->
xsl:choose
<xsl:when test="($Anzahl_td) = 5">
<fo:table-column column-width="4cm" />
</xsl:when>
<xsl:when test="($Anzahl_td) = 4">
<fo:table-column column-width="4.5cm" />
</xsl:when>
<xsl:when test="($Anzahl_td) = 3">
<fo:table-column column-width="5.5cm" />
</xsl:when>
<xsl:when test="($Anzahl_td) = 2">
<fo:table-column column-width="6.5cm" />
</xsl:when>
<xsl:when test="($Anzahl_td) = 1">
<fo:table-column column-width="7cm" />
</xsl:when>
xsl:otherwise
<fo:table-column column-width="1cm" />
</xsl:otherwise>
</xsl:choose>
</xsl:for-each>
usw...