[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Duplicates in a sequence ?
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))
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|