我有此输入XML:
<projects>
<project>
<number>1</number>
<title>Project X</title>
</project>
<project>
<number>unknown</number>
<title>Project Y</title>
</project>
<project>
<number>2</number>
<title>Project Z</title>
</project>
</projects>
XSL以排序的方式遍历所有项目项,如果下一个同级项目包含数字unknown
...,我想做些事情。
我该怎么做?
这不起作用:
<xsl:for-each select="/*/projects/project">
<xsl:sort select="./title"/>
<xsl:if test="./following-sibling::*[1]/number = 'unknown'">
...
</xs:if>
</xsl:for-each>
我有此输入XML:
这里是解决此问题的方法:在循环中对元素进行排序时,您不能使用同级函数,因为基础节点列表仍未排序,因此您访问错误的节点。
解决方案是先对节点排序,然后执行同级功能。