如果我具有xml结构:
0
乔
1
鲍伯
1
查尔斯
1
蒂芙尼
0
约翰
0
蒂姆
在for-each循环中遍历这些节点时,如何将它们的位置保持为条件:[isRed ='1']。例如,如果我要遍历
<=“”代码=“”>
我如何将Charles的当前position()设为2而不是3? (由于其中包含Charles的B节点是匹配for-each条件的第二个节点。现在,当我处于for-each循环的上下文中时,如果我使用position(),则可以获得位置给定节点的整个节点列表的上下文,这不是我想要的。(我需要将xml转换为html,以便isRed = 1的前两个在第一页,然后其余放在不同的页面上。
此外,我没有使用模板匹配,而是模板名称。我已经尝试解决这一问题了大约一天,但我没有取得任何成功。
本质上,我试图仅遍历foreach循环中列表中的前两个元素。我实际的for-each循环如下:
<xsl:for-each select="a/b[isRed = '1' and position() < 3]">
但是,当我希望它遍历Bob和Charles b节点时,这仅遍历Joe和Bob b节点。这是因为Joe(以及所有其他b个节点,无论是否具有isRed属性)都包含在for-for条件的位置检查中。我可以使用什么代替position()调用来获取满足isRed条件的节点的实际位置?