У меня есть серия узлов, которые являются прямыми дочерними узлами для родителя. Я хочу зациклить эти узлы, но они обернуты в «группы» из 4 ... Я, вероятно, не очень четко формулирую это, так что это может помочь ;
<span class="child01">@nodename</span>
<span class="child02">@nodename</span>
<span class="child03">@nodename</span>
<span class="child04">@nodename</span>
<span class="child05">@nodename</span>
<span class="child06">@nodename</span>
<span class="child07">@nodename</span>
<span class="child08">@nodename</span>
..
<span class="child32">@nodename</span>
<span class="child33">@nodename</span>
..and so on
Цель
<div class="group">
<span class="child01">@nodename</span>
<span class="child02">@nodename</span>
<span class="child03">@nodename</span>
<span class="child04">@nodename</span>
</div>
<div class="group">
<span class="child05">@nodename</span>
<span class="child06">@nodename</span>
<span class="child07">@nodename</span>
<span class="child08">@nodename</span>
</div>
<div class="group">
..
<span class="child32">@nodename</span>
</div>
<div class="group">
<span class="child33">@nodename</span>
..and so on
Я попробовал варианты этой идеи - завершение лота в тегах группы открытия и закрытия и каждого четвертого цикла в новой паре закрытия / открытия
<div class="group">
<xsl:for-each select="$currentPage/*">
<span>
<xsl:value-of select="@nodeName" />
</span>
<!--
=============================================================
After very 4th item
=============================================================
-->
<xsl:if test="position() mod 4 = 0">
<xsl:text></div><div class="page"></xsl:text>
</xsl:if>
</xsl:for-each>
</div>
Но, по сути, кажется, что XSLT не позволит мне начать с закрывающего непревзойденного тега
Решение clkoset, которое я до сих пор нашел, - это исправление в jquery Оборачивание div вокруг каждых трех div , но я бы не стал полагаться на javascript для форматирования страницы.