我正在尋找可重複使用的從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」)提前
感謝, 約斯特