----------------------------------------------------------------------------------------
-
如果数据是象下面这样描述图片信息的
<root>
<pic>
<filename>1.jpg</filename>
<size>120</size>
<link>1.htm<link>
</pic>
<pic>
<filename>2.jpg</filename>
<size>120</size>
<link>2.htm<link>
</pic>
<pic>
<filename>3.jpg</filename>
<size>120</size>
<link>3.htm<link>
</pic>
<pic>
<filename>4.jpg</filename>
<size>120</size>
<link>4.htm<link>
</pic>
....一直到...
<pic>
<filename>n.jpg</filename>
<size>120</size>
<link>n.htm<link>
</pic>
</root>
怎么样才能做一个表格效果,实现每取4组图片数据换让图片显示换一次行呢?如下效果,每一数字代表一幅图
1 2 3 4
5 6 7 8
.....
n n+1 n+2 n+3
---------------------------------------------------------------
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes"/>
<xsl:template match="/">
<table>
<xsl:apply-templates select="/root/pic"/>
</table>
</xsl:template>
<xsl:template match="pic[position() mod 4 = 1]">
<tr>
<td>
<xsl:value-of select="filename"/>
</td>
<td>
<xsl:value-of select="following-sibling::pic[1]/filename"/>
</td>
<td>
<xsl:value-of select="following-sibling::pic[2]/filename"/>
</td>
<td>
<xsl:value-of select="following-sibling::pic[3]/filename"/>
</td>
</tr>
</xsl:template>
<xsl:template match="pic"/>
</xsl:stylesheet>
---------------------------------------------------------------
三行的只要修改这一块。
<xsl:template match="pic[position() mod 3 = 1]">
<tr>
<td>
<img src="{filename}"/>
</td>
<td>
<img src="{following-sibling::pic[1]/filename}"/>
</td>
<td>
<img src="{following-sibling::pic[2]/filename}"/>
</td>
</tr>
</xsl:template>
---------------------------------------------------------------
那么你就多谢几句,每个都类似:
<td>
<xsl:choose>
<xsl:when test="following-sibling::pic[2]">
<a href="{following-sibling::pic[2]/link}">
<img border="0" src="{following-sibling::pic[2]/filename}"/>
</a>
</xsl:when>
<xsl:otherwise>
<img src="chacha.gif"/>
</xsl:otherwise>
</xsl:choose>
</td>