나는 다음과 같은 XSL의 노드가 있습니다를위한 각 : 각 3 항목을 가져 오기 (3 열로 분할)
<foo>
<bar>1</bar>
<bar>2</bar>
<bar>3</bar>
<bar>4</bar>
<bar>5</bar>
<bar>6</bar>
<bar>7</bar>
<bar>8</bar>
<bar>9</bar>
</foo>
그리고 다음 HTML로 돌려 싶습니다 :
<ul class="one">
<li>1</li>
<li>4</li>
<li>7</li>
</ul>
<ul class="two">
<li>2</li>
<li>5</li>
<li>8</li>
</ul>
<ul class="three">
<li>3</li>
<li>6</li>
<li>9</li>
</ul>
을 힘든 시간을 갖는 방법 루프를 파악하고 각각의 세 번째 항목을 얻을, 같은 것을 할 싶습니다
<ul class="one">
<xsl:for-each select="exlt:node-set($blah)/foo/bar[X1]">
<li><xsl:value-of select="node()"/></li>
</xsl:for-each>
</ul>
<ul class="two">
<xsl:for-each select="exlt:node-set($blah)/foo/bar[X2]">
<li><xsl:value-of select="node()"/></li>
</xsl:for-each>
</ul>
<ul class="three">
<xsl:for-each select="exlt:node-set($blah)/foo/bar[X3]">
<li><xsl:value-of select="node()"/></li>
</xsl:for-each>
</ul>
Where:
X1 = Every third item starting from position 1
X2 = Every third item starting from position 2
X3 = Every third item starting from position 3
가) (마지막을 사용해야 할 수도 있습니다,하지만 제대로 작동하지 않을 수 있습니다.
생각해 볼 수도 있지만 다른 열을 반복하는 방법은 무엇입니까? 자세한 내용으로 질문을 업데이트했습니다. 어쩌면 나는 완전히 명백한 것을 놓치고있을 뿐이다. 칼럼 2를 보면 #s : 2,5,8이어야합니다. 이것은 등가 모드가 아닙니다. –
감사! 나는 mod가했던 것을 완전히 오해했다고 생각한다. 숫자가 나눌 수 있는지에 따라 단지 1 또는 0이라고 생각했다. 행을 번갈아 사용하는 경우에만 사용했습니다. –
@ 루이스 W : 너 잘됐다! http://www.w3.org/TR/xpath/#numbers에서 : "mod 연산자는 잘린 구분에서 나머지를 반환합니다". –