Re: [xsl] Variable containing unique values

Subject: Re: [xsl] Variable containing unique values
From: David Carlisle <davidc@xxxxxxxxx>
Date: Wed, 21 May 2008 15:36:24 +0100
I can't remember if you use xslt 1 or 2, in xslt2 

select="distinct-values(//rolloverDate)" does what you ask.

But assuming you are using xslt 1 then getting unique values is the same
as grouping, and just using one of each group.


an XML document can only have one top level element so 


either matches that element (if the document element is rolloverDate) or
matches nothing. In either case the document eleemnt never has siblins
so the preceding::rolloverDate in the filter will never select anything.

You mean to select the child of the current element, so don't start with
/ which takes you to thetop of the tree:

select="rolloverDate[not(preceding::rolloverDate= current())]"/>

but note this will repeatedly look back over all earlier nodes so can be
quite slow on large sets, hence muenchian grouping.

<xsl:key name="e" match="element" use="rolloverDate"/>

	<xsl:variable name="unique-dates">
   <xsl:copy-of select="."/>


The Numerical Algorithms Group Ltd is a company registered in England
and Wales with company number 1249803. The registered office is:
Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.

This e-mail has been scanned for all viruses by Star. The service is
powered by MessageLabs. 

Current Thread