Dimitre, I am not sure whether I understand your two centsb&
For each node you read, you have to compare all following nodes. How would you
like to do that in the initial reading?
Yours
Leo
> On 5 Apr 2018, at 20:15, Dimitre Novatchev dnovatchev@xxxxxxxxx
<mailto:dnovatchev@xxxxxxxxx> <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx
<mailto:xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>> wrote:
>
> Just a thought on this.
>
> If we can implement deep-equal($n1, $n2) as calculating some
> ValueIdentity (VI) for each of the nodes and returning
>
> VI1 eq VI2 ...
>
> Then the VIs for each node can be calculated on the initial reading of
> the XML document (even in streaming mode) with almost no additional
> effort. If these VIs are made properties of the nodes, then we could
> just compare the VIs of the nodes and avoid any repeated zip-like
> comparison of the subtrees that are topped by these nodes. And this
> also seems more declarative/functional.
>
> Just my 2c.
>
> Cheers,
> Dimitre
>
>>>
>>> let $xml := <a>
>>> <b>
>>> <c>1</c>
>>> <d>1</d>
>>> <d>2</d>
>>> </b>
>>> <b>
>>> <c>2</c>
>>> <d>1</d>
>>> <d>3</d>
>>> </b>
>>> <b>
>>> <c>3</c>
>>> <d>2</d>
>>> <d>3</d>
>>> </b>
>>> <b>
>>> <c>3</c>
>>> <d>2</d>
>>> <d>3</d>
>>> </b>
>>> </a>
>>> return
|