However, I regularly write the following:
number($x + 7)
This has not given me any errors and passed by fine in SAXON 7.
There's nothing wrong with this, but it's unnecessary. If $x is an integer,
the result of the addition is an integer, and the number() function changes
it to a double, which prevents it being used in certain contexts that
require an integer, for example "1 to $x". An integer can be used anywhere
that a double is allowed, so converting an integer to a double is never
necessary.
Michael Kay