在XML / XSL中水平填充N列HTML表

时间:2014-11-26 16:36:01

标签: xml xslt

我正在尝试获取产品页面,但无法在水平填充的表格中获取项目,而不是我现在拥有的向下列表。我确信有更好的XML / XSL解决方案,但这是我必须用于这个项目(并且是我第一次使用它)。

我希望每行中有4种不同的产品,但到目前为止只能让它们重复4次。我已经搜索了一些命令来强制它移动到下一个但只能在JavaScript中找到位。

我确定必须有一个简单的解决方案或我遗漏的东西,有人可以帮忙吗?

XML(缩减版):

<catalog>
  <item>
    <category main="Christmas" sub="Christmas Gifts" sub2="Stocking Fillers" />
    <title>Festive food Christmas stickers</title>
    <sku>00530401</sku>
    <image>images/products/stickers.jpg</image>
    <price>1.50</price>
    <link>festive-stickers.html</link>
  </item>
  <item>
    <category main="Christmas" sub="Christmas Gifts" sub2="Stocking Fillers" />
    <title>Santa egg cup and toast cutter set</title>
    <sku>00531358</sku>
    <image>images/products/eggcup.jpg</image>
    <price>7.00</price>
    <link>santa-egg-cup.html</link>
  </item>
  <item>
    <category main="Christmas" sub="Christmas Gifts" sub2="Stocking Fillers" />
    <title>Mini snow globes - set of 3</title>
    <sku>00531522</sku>
    <image>images/products/globes.jpg</image>
    <price>9.00</price>
    <link>snowglobes.html</link>
  </item>
  <item>
    <category main="Christmas" sub="Christmas Gifts" sub2="Stocking Fillers" />
    <title>Spironauts hot water bottle</title>
    <sku>00530456</sku>
    <image>images/products/water-bottle.jpg</image>
    <price>8.75</price>
    <link>water-bottle.html</link>
  </item>
</catalog>

以下是我的代码的表格部分:

<table border="1">
  <xsl:for-each select="catalog/item">
    <tr>
      <td style="width:25%; text-align:center;">
        <a href="{link}" title="{title}">
          <img src="{image}" alt="{title}" height="140" align="left" />
        </a>
      </td>
    </tr>
    <tr>
      <td style="width:25%; text-align:left;">
        <a href="{link}" title="{title}">
          <xsl:value-of select="title" />
        </a>
      </td>
      <td style="width:25%; text-align:left;">Add to basket</td>
    </tr>
    <tr>
      <td style="width:25%; text-align:left; font-weight:bold;">
        <xsl:value-of select="price" />
      </td>
    </tr>
  </xsl:for-each>
</table>

0 个答案:

没有答案