[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: XQuery/XPath 3.1: Node List to Node Set ("distinct

Subject: Re: 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
Re:  XQuery/XPath 3.1: Node List to Node Set ("distinct
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:  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

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.