[xsl] Retrieving sequence of unique strings from another sequence

Subject: [xsl] Retrieving sequence of unique strings from another sequence
From: "Houghton,Andrew" <houghtoa@xxxxxxxx>
Date: Tue, 5 Jan 2010 13:41:05 -0500
I have a sequence of strings, e.g., ('abc', 'def', 'def', 'ghi'), and I want
to create a new sequence that will have only the unique strings in it.  The
XSL 2.0 function distinct-values is not what I want because:

  <xsl:variable name="list" as="xsd:string*" select="('abc', 'def', 'def',
'ghi')" />
  <xsl:variable name="uniq" as="xsd:string*" select="distinct-values($list)"
/>

will result in a sequence of ('abc', 'def', 'ghi') which is not what I'm
looking for.  What I am looking for is the sequence ('abc', 'ghi').  Unix
people will recognize that distinct-values() returns the result of the uniq
command without any options.  While what I'm looking for is the result of the
uniq command with the -u option.

Can anyone suggest how I might use one or more XSL 2.0 functions to return
only the unique strings.


Thanks, Andy.

Current Thread