вывод в две колонки

Alexandre

PHPПенсионер
вывод в две колонки

Пусть задан исходный xml
PHP:
<data>
<raw data="31"/>
<raw data="23"/>
<raw data="53"/>
<raw data="37"/>
<raw data="39"/>
</data>
Задача: вывести все это в две колонки:
PHP:
<table>
<tr><td>31</td><td>23</td></tr>
<tr><td>53</td><td>37</td></tr>
<tr><td>39</td><td></td></tr>
</table>
или в др. порядке
 

jer

...
я делаю рекурсивно:

PHP:
<xsl:template match="data"> 
  <table>
    <xsl:call-template name="oneline"> 
      <xsl:with-param name="raws" select="raw"/> 
    </xsl:call-template> 
  </table>
</xsl:template>

<xsl:template name="oneline"> 
  <xsl: param name="raws"/> 
  <xsl:choose> 
    <xsl:when test="$raws"> 
      <tr>
        <td>
          <xsl:apply-templates select="$raws[1]"/>
        </td>
        <td>
          <xsl:apply-templates select="$raws[2]"/>
        </td>
      </tr>
      <xsl:call-template name="oneline"> 
        <xsl:with-param name="raws" select="$raws[position()>2]"/> 
      </xsl:call-template> 
     </xsl:when> 
     <xsl: otherwise></xsl: otherwise> 
   </xsl:choose> 
</xsl:template>

<xsl:template match="raw"> 
  <xsl:value-of select="@data"/>
</xsl:template>
 

chameleon

Новичок
такие задачи на отображение для двух колонок можно и в CSS решить, а вообще, господа, поиск рулит.
 

jian

Guest
Код:
<?xml version="1.0"?>
<?xml version="1.0" encoding="Shift_JIS"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">

<xsl:template match="/"> 
  <table border="1"> 
    <xsl:apply-templates select="data/raw[position() mod 2 = 1]"/> 
  </table> 
</xsl:template> 

<xsl:template match="raw"> 
      <tr> 
        <td> 
	  <xsl:value-of select="@data"/> 
        </td> 
        <td> 
	  <xsl:value-of select="following-sibling::raw[1]/@data"/> 
        </td> 
      </tr> 
</xsl:template>

</xsl:stylesheet>
:)
 

selishchev

Новичок
а как бы сюда доделать сортировку по алфавиту, но чтобы было не так:
01 02 03 04
05 06 07

а так:
01 03 05 07
02 04 06

?
 

Beetle(c)]u$

Новичок
selishchev
это уже вопрос программирования.
выводи каждый второй элемент или сколько там строк у тебя в табле
 
Сверху