[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: [xsl] Duplicates in a sequence ?


Subject: Re: [xsl] Duplicates in a sequence ?
From: "Dimitre Novatchev dnovatchev@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx>
Date: Wed, 25 Mar 2015 17:01:48 -0000

And if you just need the boolean  (true()/false()) indicating whether
a sequence has duplicate values -- not needing the values themselves
-- then use the following, slightly adjusted and more efficient
expression:

exists($vSeq[index-of($vSeq,.)[2]][1] )

On Wed, Mar 25, 2015 at 9:53 AM, Leo Studer leo.studer@xxxxxxxxxxx
<xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> Really nice, thanks !
>
>
>> On 25.03.2015, at 15:05, Dimitre Novatchev dnovatchev@xxxxxxxxx <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> wrote:
>>
>> See this:
>>
>> http://stackoverflow.com/questions/133092/how-do-you-identify-duplicate-values-in-a-numerical-sequence-using-xpath-2-0
>>
>> It produces all values in the sequence, that occur in it more than once:
>>
>> $vSeq[index-of($vSeq,.)[2]]
>>
>>
>>
>> On Wed, Mar 25, 2015 at 3:58 AM, 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
>>>
> 



-- 
Cheers,
Dimitre Novatchev
---------------------------------------
Truly great madness cannot be achieved without significant intelligence.
---------------------------------------
To invent, you need a good imagination and a pile of junk
-------------------------------------
Never fight an inanimate object
-------------------------------------
To avoid situations in which you might make mistakes may be the
biggest mistake of all
------------------------------------
Quality means doing it right when no one is looking.
-------------------------------------
You've achieved success in your field when you don't know whether what
you're doing is work or play
-------------------------------------
To achieve the impossible dream, try going to sleep.
-------------------------------------
Facts do not cease to exist because they are ignored.
-------------------------------------
Typing monkeys will write all Shakespeare's works in 200yrs.Will they
write all patents, too? :)
-------------------------------------
I finally figured out the only reason to be alive is to enjoy it.


Current Thread