xsl-list
[Top] [All Lists]

RE: XSLT 2.0 function - fastest node comparison

2005-03-10 09:21:12
Interestingly, using 'cast as' on $middle to narrow it to an integer
causes the execution time to increase by 250ms, so I've left 
them all as
doubles (the positional predicate in $currentNode doesn't 
appear to mind
using a double).  

That makes me realise that it would actually avoid many string->number
conversions if you extracted the ranges as two sequences of integers in
global variables:

<xsl:variable name="lows" select="$ranges/*/@from/xs:integer(.)"
as="xs:integer*"/>
<xsl:variable name="highs" select="$ranges/*/@to/xs:integer(.)"
as="xs:integer*"/>
<xsl:variable name="n" select="count($lows)" as="xs:integer"/>

test="some $i in 1 to $n satisfies ($highs[$i] ge $test and $lows[$i] le
$test)"

Michael Kay
http://www.saxonica.com/





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--