I was startled to find that xsd.exe maps xs:integer , xs:negativeInteger , xs:nonNegativeInteger , xs:positiveInteger , and xs:nonPositiveInteger into string . Digging in, XML Schema Part 2 says xs:integer is derived from xs:decimal (sans fraction), and...