So you want to set the style attribute on a TD and you want to set it to something based on a numeric variable named $QuestionIndex? I'll assume this is the TD you want to apply that to:
<td valign="top" width="1%" noWrap="yes" >
</td>
I'll assume that you want to set the font color to "Red" or "Green" depending on the value of $QuestionIndex:
<td valign="top" width="1%" noWrap="yes">
<xsl:attribute name="style">
<xsl:choose>
<xsl:when test="$QuestionIndex = 1">
<xsl:value-of select="'color: Red;'" />
</xsl:when>
<xsl:otherwise>
<xsl:value-of select="'color: Green;'" />
</xsl:otherwise>
</xsl:choose>
</xsl:attribute>
</td>
EDIT: Your description is still confusing, but let me try again based on what I now think you want. So @QuestionIndexFont will have the style information (font size, font weight) stored as a string, and you want to apply that to the style attribute of a TD element which contains the value stored in $QuestionIndex + 1. So @QuestionIndexFont might contain "Font-size: 11pt; Font-weight: bold;" and $QuestionIndex might be equal to the number 3 (note: not the string "3"). When all is said and done, you want the HTML to look like this:
<td style="Font-size: 11pt; Font-weight: bold;">
4
</td>
To do that, you'd use this XSLT:
<td>
<xsl:attribute name="style">
<xsl:value-of select="@QuestionIndexFont" />
</xsl:attribute>
<xsl:value-of select="$QuestionIndex + 1" />
</td>
If that's not correct, then please try to explain what it is you really want. And don't post it as another answer that I will have to delete... post it as an update to your question then comment on this answer to let me know you made that update.
EDIT: Just a tip to help you debug. If you want to see what the XML input is in your output, you just do this:
<xsl:copy-of select="." />
IIRC, that should give you a copy of the entire XML structure as it exist at that point in the code. You can use that to see if you're getting the expected data.