我已经在递归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