Q:

How do I get XSLT to stop using scientific notation when outputting the results of numeric operations?

I have a bit of XSLT which is performing some magic on integer database identifiers.  The relevant code snippit is
      <xsl:variable name="releaseId" select="@ID + $contentOffsetId"/>
      <xsl:attribute name="OLD_ID"> <xsl:value-of select="@ID" /> </xsl:attribute>
      <xsl:attribute name="RELEASE_ID"> <xsl:value-of select="$releaseId" />      

Unfortunately the output from this looks like this:
<ALBUM.RELEASE_LOCALE LOCALE_CODE="en_US" OLD_ID="6597512" RELEASE_ID="6.597513E6">

This result is useless to me since I won't be able to use the scientific notation entry as input to my DB import utility.  I've tried a number of functions on the variable declaration, such as string(@ID + $contentOffsetId) but nothing seems to achieve the desired results.
The XSL is being executed using Saxon 8.7.

A:

Use format-number (for detailed reference: here)

