Here's what xmllint is telling me:
'1024663.719008264462809917' is not a valid value of the atomic type 'xs:decimal'
Is there some default number of valid places? There isn't supposed to be according to this.
Update: experimenting with xmllint, 17 decimal places validates but 18 is not valid.
The official spec states that
All ·minimally conforming· processors ·must· support decimal numbers with a minimum of 18 decimal digits (i.e., with a ·totalDigits· of 18). However, ·minimally conforming· processors ·may· set an application-defined limit on the maximum number of decimal digits they are prepared to support, in which case that application-defined maximum number ·must· be clearly documented.
So while theoretically the data type allows arbitrary precision decimal numbers, a particular processor is allowed to limit the range of values it is prepared to support.