RE: How do you get the most recent element?
> 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
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