我有一系列節點是父節點的直接子節點我想循環這些節點,但將它們包裹在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