我正在寻找可重复使用的从xml文档获取所有节点的方法,这些节点是通过id从后代引用的给定节点,但它们本身不是给定节点的后代。例如:获取所有节点的集合,这些节点由子孙引用,但不是子孙自己
<root>
<somenode>
<a id="a1"/>
<aref ref="a1"/>
</somenode>
<somenode>
<a id="a2"/>
<aref ref="a1"/>
<aref ref="a2"/>
</somenode>
</root>
如果给定节点将是/根/ somenode [1],所得到的节点集应该是空的。每个引用的a都是/ root/somenode [1]的子节点。另一方面,如果给定的节点是/ root/somenode [2],则最终的节点集应该包含/ root/somenode [1]/a [1],而不是其他的。
重要的是生成的节点集始终以相同的方式排序。另外一个解决方案应该只使用XSLT的1.0和exlst扩展建设成为在xsltproc(库的确切版本:“使用的libxml 20708,的libxslt 10126和libexslt 815”)提前
感谢, 约斯特