[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Re: [xsl] Duplicates in a sequence ?
Subject: Re: [xsl] Duplicates in a sequence ? From: "Michael Kay mike@xxxxxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Wed, 25 Mar 2015 11:31:32 -0000 |
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)) > > > Thanks in advance > Leo
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Duplicates in a sequence , Leo Studer leo.stude | Thread | Re: [xsl] Duplicates in a sequence , Leo Studer leo.stude |
Re: [xsl] Duplicates in a sequence , Martin Honnen martin | Date | Re: [xsl] Duplicates in a sequence , Dimitre Novatchev dn |
Month |