Subject: Re: [xsl] Duplicates in a sequence ? From: "Leo Studer leo.studer@xxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 25 Mar 2015 17:03:06 -0000 |
Nice xPath 3.1 approach, thanks. > On 25.03.2015, at 12:31, Michael Kay mike@xxxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > > I don't know of a better solution. > > If the sequences are very long and you want something that will stop as soon as it hits the first duplicate, you could use recursion and maps: > > function has-dupes ($in as xs:integer*, $found as map(*)) { > map:contains($found, head($in)) or has-dupes(tail($in), map:put($found, head($in), 0) > } > > then > > has-dupes($sequence, map{}) > > Michael Kay > Saxonica > mike@xxxxxxxxxxxx > +44 (0) 118 946 5893 > > > > > On 25 Mar 2015, at 10:58, Leo Studer leo.studer@xxxxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote: > >> Hello >> >> I have a sequence and want to know whether there are duplicate values in it. >> >> I came out with the following and think there must be an easy solution. Any suggestion? >> >> let $sequence :=(1,12,14,17,22,12) return (count(distinct-values($sequence)) ne count($sequence))
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Duplicates in a sequence , Michael Kay mike@xxx | Thread | Re: [xsl] Duplicates in a sequence , Dimitre Novatchev dn |
Re: [xsl] Duplicates in a sequence , Dimitre Novatchev dn | Date | Re: [xsl] Duplicates in a sequence , Leo Studer leo.stude |
Month |