我已經在遞歸fashon中實現了這一點,但由於大多數xml編輯器似乎耗盡堆棧空間,我認爲應該有一個更有效的解決方案。XSLT設置差異,但在節點的一個子節點上匹配
我已經看了珍妮Tenison的差集模板: http://www.exslt.org/set/functions/difference/set.difference.template.xsl
但需要的東西略有不同。我需要將節點相等性定義爲concat(node(。),@ name) 。
有一組預定義的節點:
<a name="Adam"><!-- don't care about contents for equality purposes --></a>
<b name="Berty"><!-- don't care about contents for equality purposes --></b>
<a name="Charly"><!-- don't care about contents for equality purposes --></a>
我想找出下面的節點不在上述名單的子集:
<b name="Berty"><!-- different contents --></b>
<b name="Boris"><!-- different contents --></b>
結果我之後將是一個節點集:
<b name="Boris"><!-- different contents --></b>
以物爲節點都是不同的d我不能使用複雜的關鍵ocuments(重寫導入的定義是我試圖處理這個問題的原因)。 此外,這需要XSLT 1.0,因爲我需要在IE/Firefox中呈現。
任何想法/建議/ guidence的歡迎!
謝謝,我已經看過了,價值相等是遞歸的,這是有效的我已經在做什麼。我想知道是否有辦法更有效地進行價值平等。 – Squirrel 2009-10-19 21:00:09
不是我所知道的。說實話,我不得不把XSLT拿出來,放到C++後端來提高效率。 – 2009-10-20 05:10:19