Welcome to Delicate template
Header
Just another WordPress site
Header

xsl如何输出几个一组

12月 6th, 2013 | Posted by 无 名 in html

奇偶成组,可以用下面来实现。

<xsl:for-each select="ds/Table1">
  <xsl:choose>
     <xsl:when test="position() mod 2=0">
        dd模板解释,或者写一个template匹配
     </xsl:when>
     <xsl:otherwise>   
         dt模板解释,或者写一个template匹配
     </xsl:otherwise>
  </xsl:choose>
</xsl:for-each>

原地址:http://q.cnblogs.com/q/35029/

但是我让输出的html在一定行数之后插入换行,或者其它的html元素。怎么办呢。
比如现在让输出的数据三条数据成一组。
要输出如下效果。

<ul>
<li>1</li>
<li>2</li>
<li>3</li>
</ul>
<ul>
<li>4</li>
<li>5</li>
</ul>

xsl代码就应该这样写:

<ul>
<xsl:for-each select="root/Menu/Item">
<xsl:if test="(position() mod 4) = 0">
<xsl:value-of select="'&lt;/ul&gt;&lt;ul&gt;'" disable-output-escaping="yes" />
</xsl:if>
<li><a href="{./@url}"><img src="/mobile/icons/{./@ico}.png" width="30" height="30" /><p><xsl:value-of select="."/></p></a></li>
</xsl:for-each>
</ul>

在网上查,火狐浏览器不支持。disable-output-escaping,这个问题还未解决。需另求办法。

You can follow any responses to this entry through the RSS 2.0 Both comments and pings are currently closed.