[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Re: Variable containing unique values
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. select="/rolloverDate[not(preceding::rolloverDate an XML document can only have one top level element so /rolloverDate 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:for-each select ="REPORT/Rollover/RolloverForecast/summaryAccount/element[generate-id()=generate-id(key('e',rolloverDate)[1])]"> <xsl:copy-of select="."/> </xsl:for-each> </xsl:variable> David ________________________________________________________________________ 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. ________________________________________________________________________
|
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
|