XSL
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 10.03.03 05:19
Оценка:
Первый раз пишу 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> было только в одном экземпляре?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.