Subject: RE: [xsl] Variable containing unique values From: "Hesselberth, Jan" <Jan.Hesselberth@xxxxxxxxxxxxxxxxxx> Date: Wed, 21 May 2008 15:53:40 +0100 |
Thanks for the reply David. I'm using xslt 1 and this has solved most of the problem. I just need to get the dates in order now. Thanks again. Jan -----Original Message----- From: David Carlisle [mailto:davidc@xxxxxxxxx] Sent: 21 May 2008 15:36 To: xsl-list@xxxxxxxxxxxxxxxxxxxxxx Subject: Re: [xsl] 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. ________________________________________________________________________ LEGAL NOTICE The information contained in this e-mail and any attachments are private and confidential. This message is solely intended for a particular recipient, if you are not the intended recipient you are prohibited from storing, copying, disseminating or using the information in any way. If you received this e-mail in error please notify the sender immediately. E-mail transmission cannot be guaranteed to be secure or error-free as information could be intercepted, corrupted, lost, destroyed, arrive late or incomplete, or contain viruses. The sender therefore does not accept liability for any errors, viruses or omissions in the contents of this message, which arise as a result of transmission. This e-mail is not intended to create legally binding commitments on behalf of Northern Rock plc, nor do its contents reflect the corporate views or policies of Northern Rock plc. Northern Rock plc, Registered Office Northern Rock House Gosforth Newcastle upon Tyne NE3 4PL. Registered in England, number 3273685. Telephone No: 0191 2857191 Northern Rock plc is authorised and regulated by the Financial Services Authority for deposit-taking; advising on and arranging mortgages and general insurance; and for introducing life assurance and investments. ______________________________________________________________________ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email ______________________________________________________________________
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Variable containing uniqu, David Carlisle | Thread | Re: [xsl] Variable containing uniqu, Mukul Gandhi |
RE: [xsl] Variable containing uniqu, Hesselberth, Jan | Date | Re: [xsl] Variable containing uniqu, Mukul Gandhi |
Month |