All simple types have:
value space - The set of values for a datatype.
lexical space - The set of literals (character strings) for the values in the value space.
facets - each facet is a single defining aspect of the value space (e.g minimum value, maximum value, etc.)
Simple types are created or derviated by restricting these aspects.