试图找出如何选择XSLT节点以下,兄弟当节点已经在XSLT 1.0被排序如下兄弟。我已经搜索但找不到排序节点的任何内容,因为它只选择未排序的节点的兄弟节点。选择排序节点
数据
<data>
<number order='4'>Four</number>
<number order='1'>One</number>
<number order='3'>Three</number>
<number order='2'>Two</number>
</data>
代码
<xsl:for-each select="/data/number">
<xsl:sort select="@order"/>
<xsl:if test="position() mod 2 = 1">
<xsl:value-of select="text()"/>
<xsl:text> - </xsl:text>
<xsl:value-of select="following-sibling::*/text()"/>
</xsl:if>
</xsl:for-each>
预期输出
One - Two
Three - Four
实际输出
One - Three
Three - Two
可以尝试使用数字(位置())模2 = 1的测试中。由于位置()将返回不知道它是否会工作只是给一个尝试 –