RE: [xsl] XPath proximity position in predicates

Subject: RE: [xsl] XPath proximity position in predicates
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Mon, 15 May 2006 10:45:28 +0100
> Reading XPath 1.0 it states that a predicate evaluating to a 
> number will return true if equal to the proximity position of 
> the current node. I was wondering if there is a reason the 
> evaluated number isn't rounded by the XPath engine?

My guess on this is that no-one thought about this case before the 1.0 spec
was published - remember that it didn't have anything like the extended
review period that the current specs are going through. However, I think it
rarely causes a problem in practice. Anyone computing the position using
something other than simple addition or subtraction, for example to
implement a binary-chop search, should really be thinking about the rounding
strategy to use rather than relying on any default rounding algorithm; and
simple addition and subtraction using small integer values doesn't lead to
rounding errors.

If there's a practical use case where problems arise, I'd be interested to
hear of it.

Michael Kay

Current Thread