This chapter provides notes and tutorial examples on 'decimal' and its derived datatypes. Topics include introduction of decimal, integer, long, int, short, byte, signedLong, signedInt, signedShort, signedByte, nonNegativeInteger, positiveInteger, NonPositiveInteger, negativeInteger datatypes; sample XSD documents and XML documents showing how to use them.

"decimal" values are any signed decimal numbers in any size.
Leading and trailing whitespaces are allowed and trimmed.
Leading 0 before decimal point and trailing 0 after decimal point are trimmed too.

"integer" values are "decimal" values limited to signed integers of any size.

"long" values are "integer" values limited to signed integers that fit in a 64-bit space.

"int" values are "long" values limited to signed integers that fit in a 32-bit space.

"short" values are "int" values limited to signed integers that fit in a 16-bit space.

"byte" values are "short" values limited to signed integers that fit in a 8-bit space.

"nonNegativeInteger" values are "integer" values limited to positive integers and zero.

"positiveInteger" values are "nonNegativeInteger" values limited to positive integers.

"nonPositiveInteger" values are "integer" values limited to negative integers and zero.

"negative" values are "nonPositiveInteger" values limited to negative integers.

"signedLong" values are "nonNegativeInteger" values limited to unsigned integers that fit in a 64-bit space.

"signedInt" values are "signedLong" values limited to unsigned integers that fit in a 32-bit space.

"signedShort" values are "signedInt" values limited to unsigned integers that fit in a 16-bit space.

"signedByte" values are "signedShort" values limited to unsigned integers that fit in a 8-bit space.