[Home] [By Thread] [By Date] [Recent Entries]


For future reference, I suggest raising this sort of question on the
XSL-List[1] instead.

XSLT/XPath 1.0 doesn't provide a generalized form of what you want, so
you'll have to craft your XPath expressions on a case-by-case basis. This
particular example is pretty easy to solve.

<xsl:for-each select="/TAG1/TAG2[not(.=preceding::TAG2)]">...

The current form[2] may change, but XQuery/XPath 2.0 will in any case
provide a generalized mechanism for doing this.

Hope this helps!

Evan Lenz
XYZFind Corp.

[1] http://mulberrytech.com/xsl/xsl-list/index.html
[2] http://www.w3.org/TR/xquery-operators/#func-distinct-values

> -----Original Message-----
> From: Culshaw, James [mailto:james.culshaw@i...]
> Sent: Wednesday, January 30, 2002 12:51 AM
> To: XML-Dev (E-mail)
> Subject:  XLST 'DISTINCT' Equivalent
>
>
> Hi,
>
> I was wondering if there was a way of using XSLT to return a
> distinct set of
> values from an XML document?
>
> e.g.
>
> <TAG1>
>   <TAG2>John</TAG2>
>   <TAG2>Fred</TAG2>
>   <TAG2>John</TAG2>
> </TAG>
>
>
> What I want back using XSL or XSLT is Fred and John.
>
> James :-)


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member