Re: [xsl] How to select specific nodes using xsl:template match or similar?

Subject: Re: [xsl] How to select specific nodes using xsl:template match or similar?
From: David Carlisle <davidc@xxxxxxxxx>
Date: Tue, 12 Jun 2007 12:24:04 +0100
> Does it mean I need to upgrade?

well it does mean that you need an xslt2 processor to use xslt2
instructions but you can't presently "upgrade" xalan to xslt2 as it only
implements xslt1.

Saxon is the most common xslt2 processor but you should also check out
offerings from altova and gexslt.

>   <xsl:variable name="startDate">20050102</xsl:param>
don't do that, it makes a result tree fragment consisting of a document
node, with a child text node with string value "20050102" which is
expensive to build and when used it has to be converted to a string and
then to a number, just use

<xsl:variable name="startDate" select="20050102"/>

which defines startDate to be a number.

<xsl:for-each select="data[@name &gt;= $startDate and @name &lt;=$endDate]">

seems to be what you are looking for, although you were not very
specific about what was wrong with the for-each and if construct that
you did use. It's possible that putting the test in a predicate rather
than in a nested xsl:if is more efficient, but in the other hand it's
possible that the XSLT engine produces exactly the same executable code
from the two constructs, it all depends on the processor.


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