Первый раз пишу xsl
надо преобразовать XML-файл в html-таблицу:
<table width="100%" border="0" cellspacing="2" align="left">
<xsl:apply-templates select="REC"/>
</table>
проблема в том, что цвет шрифта надо указывать внутри <td></td> каждой из 3-х колонок, т.к. в таком виде
<font color="#17475e">
<td><!-- что-то там --></td> <td><!-- что-то там --></td> <td><!-- что-то там --></td>
</font>
он вообще не влияет на цвет текста. Можно просто сделать это одинаково, три раза:
<xsl:template match="REC">
<tr bgcolor="#FFFFFF">
<!--первая колонка -->
<td width="1%" nowrap="" align="right" bgcolor="#F0F0F0">
<xsl:choose>
<!--в зависимости от уровня меняем цвет-->
<xsl:when test="@level=0">
<font color="#666666">
<xsl:call-template name="write_sender"/>
</font>
</xsl:when>
<xsl:when test="@level=1">
<font color="#17475e">
<xsl:call-template name="write_sender"/>
</font>
</xsl:when>
</xsl:choose>
</td>
<!--вторая колонка -->
<td width="1%" nowrap="" align="left" bgcolor="#F0F0F0">
<xsl:choose>
<!--в зависимости от уровня меняем цвет-->
<xsl:when test="@level=0">
<font color="#666666">
<xsl:call-template name="write_time"/>
</font>
</xsl:when>
<xsl:when test="@level=1">
<font color="#17475e">
<xsl:call-template name="write_time"/>
</font>
</xsl:when>
</td>
<!--третья колонка -->
<td width="98%" align="left">
<xsl:choose>
<!--в зависимости от уровня меняем цвет-->
<xsl:when test="@level=0">
<font color="#666666">
<xsl:call-template name="write_msg"/>
</font>
</xsl:when>
<xsl:when test="@level=1">
<font color="#17475e">
<xsl:call-template name="write_msg"/>
</font>
</xsl:when>
</xsl:choose>
</td>
</tr>
</xsl:template>
как бы это безобразие переделать, чтоб <xsl:choose></xsl:choose> было только в одном экземпляре?