Subject: RE: [xsl] How do you get the most recent element? From: "Michael Kay" <mhkay@xxxxxxxxxxxx> Date: Fri, 9 Feb 2001 18:09:06 -0000 |
> I need to display the most recent "note". I did something > like shown below. > I'm concerned that the match will go through all the sorted notes even > though I > only want the most recent. Thought there might be a more > elegant solution out there. > > > <xsl:apply-templates select="note"> > <xsl:sort order="descending" select="time"/> > </xsl:apply-templates> > > > <xsl:template match="note"> > <xsl:if test="position()=1"> > <xsl:value-of select="text"/> > </xsl:if> > </xsl:template> > Actually, the sort will probably take longer than processing the sorted list and discarding elements you're not interested in, so for an improvement you want to avoid the sort. If you want to do a single pass through the data, it's a case for a recursive template or an extension function such as saxon:highest(). Mike Kay XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] How do you get the most r, David Carlisle | Thread | Re: [xsl] How do you get the most r, Jeni Tennison |
Re: [xsl] How do you get the most r, David Carlisle | Date | RE: [xsl] So THAT'S what CDATA is f, jim smith |
Month |