以下代码能够选择每行中的第一个元素并显示它,但是如何围绕第一个元素及其后两个子元素(如果有的话)包装rowContainer类。
<xsl:for-each select="ViewAll/ROW[position() mod 3 = 1]">
<div class="rowContainer" align="center">
**<xsl:for-each select="the current position and the next two">**
<div class="grid" align="center">
<table class="appTable" border="0" width="auto" bgcolor="">
<tr>
<td rowspan='2' width="80px" height="80px">
<img src="{substring(SC_DF_FIELD_3,9,string-length(substring-before(SC_DF_FIELD_3,'>'))-21)}"/>
</td>
<td width="auto" height="60px"><b class="appName"><xsl:value-of select="SC_DF_FIELD_1"/></b><div style="display:none">;</div></td>
</tr>
<tr style="vertical-align:text-top">
<td>
<div class="type"><xsl:value-of select="SC_DF_FIELD_5"/><div style="display:none">;</div></div>
<div class="price"><xsl:value-of select="SC_DF_FIELD_7"/><div style="display:none">;</div></div>
<div class="url" style="display:none"><xsl:value-of select="SC_DF_FIELD_6"/><div style="display:none">;</div></div>
<div class="date" style="display:none"><xsl:value-of select="SC_SYS_DF_DT_UPDATED"/><div style="display:none">;</div></div>
</td>
</tr>
<tr>
<td colspan="2" align='left' height="60px">
<div class="description"><b>Description: </b><xsl:value-of select="SC_DF_FIELD_2"/></div>
</td>
</tr>
<tr>
<td colspan='2' style="vertical-align:text-top" align='center'>
<div class="downLoadButton"><ul><li class="view"><a onclick='javascript:SerialPopUp($(this).parents("*:eq(5)").text())' style="color:019DDD"><b>Download</b><div style="display:none">;</div></a></li></ul></div>
</td>
</tr>
</table>
</div>
**</xsl:for-each>**
</div>
</xsl:for-each>
最后,我希望生成的代码如下所示:
<div class="rowContainer">
<div class="grid"/>
<div class="grid"/>
<div class="grid"/>
</div>
<div class="rowContainer">
<div class="grid"/>
<div class="grid"/>
<div class="grid"/>
</div>
<div class="rowContainer">
<div class="grid"/>
<div class="grid"/>
</div>
提前感谢您提供给我的任何帮助。
答案 0 :(得分:1)
您尚未显示输入XML的结构,但
<xsl:for-each select=". | following-sibling::ROW[position() < 3]">
应该这样做。