[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: XSLT 2.0 function - fastest node comparison
> 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/
|
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
|