Subject: Re: [xsl] XQuery/XPath 3.1: Node List to Node Set ("distinct nodes") From: "Eliot Kimber eliot.kimber@xxxxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 29 Dec 2021 17:57:28 -0000 |
Dimitre, ThanksI see now that I had the parameters reversedI didnt read the spec carefully enough and assumed that the order of the parameters to fold-left matched the order of the parameters to the function. Cheers, E. _____________________________________________ Eliot Kimber Sr Staff Content Engineer O: 512 554 9368 M: 512 554 9368 servicenow.com<https://www.servicenow.com> LinkedIn<https://www.linkedin.com/company/servicenow> | Twitter<https://twitter.com/servicenow> | YouTube<https://www.youtube.com/user/servicenowinc> | Facebook<https://www.facebook.com/servicenow> From: Dimitre Novatchev dnovatchev@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wednesday, December 29, 2021 at 10:51 AM To: xsl-list <xsl-list@xxxxxxxxxxxxxxxxxxxxxx> Subject: Re: [xsl] XQuery/XPath 3.1: Node List to Node Set ("distinct nodes") [External Email] On Wed, Dec 29, 2021 at 7:25 AM Eliot Kimber eliot.kimber@xxxxxxxxxxxxxx<mailto:eliot.kimber@xxxxxxxxxxxxxx> <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx<mailto:xsl-list-service@xxxxxxxxxxxx rytech.com>> wrote: > So given this expression: > > fold-left($nodes, (), function($a, $n) { $a, $n except $a }) > > I understand this to be iterating over $nodes from left to right, applying the function function($a, $n) to each node, where $a is the next node and $n is the accumulated value (being the result returned by the > function on each invocation). > > The $a, $n except $a in the function body constructs a new sequence of ($a, $n), excluding $a if it is already in $n. This sequence is then passed as the second parameter of the next invocation of the > function. This has the effect of preserving the order of input node list. Actually, $a is the accumulated result, and $n is the head of the remaining sequence -- as per spec. And if it were as quated above, we would get the in the results the last occurrence of each item, not the first. Cheers, Dimitre
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] XQuery/XPath 3.1: Node Li, Dimitre Novatchev dn | Thread | Re: [xsl] XQuery/XPath 3.1: Node Li, Michael Kay mike@xxx |
Re: [xsl] XQuery/XPath 3.1: Node Li, Dimitre Novatchev dn | Date | Re: [xsl] XQuery/XPath 3.1: Node Li, Martin Honnen martin |
Month |