我有一系列节点是父节点的直接子节点我想循环这些节点,但将它们包裹在4个“组”中...我'这可能不会很清楚地表达,所以这可能会有所帮助;XSLT for-Each包装div中的每个第n个项目
<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 Wrapping a div around every three divs中的一个“修复”,但是我宁愿不依靠javascript来格式化页面。
这是不工作的原因是,你仍然有可能产生在任何时候一个良好的文档,我认为。除非你告诉处理器,输出是纯文本 – 2014-08-15 16:58:23