Atomic, List, and Union Data Types
Atomic Data Types
Atomic data types have values that cannot be divided or broken down further. Atomic data types can be either primitive or derived.
Numbers and strings are atomic data types because their values cannot be described using smaller parts. XML schema has no concept of a character as a data type and a string is an atomic primitive type.
Example
The following is an example of an atomic data type of string.
<atomString>This cannot be divided further because this is a string.</atomString>
Example
The following is an example of an atomic derived type that is a date that can be derived from the string primitive type.
<atomDate>03-18-2001</atomDate>
List Data Types
List data types have values that consist of a finite length sequence of values of an atomic data type. List data types are comprised of sequences of atomic data types. Each part of a list data type carries a meaningful value.
There are three built-in list types: NMTOKENS, IDREFS, and ENTITIES.
Union Data Types
Union data types are those whose value spaces and lexical spaces are the union of value spaces and lexical spaces of two or more other data types. A union data type enables an element or attribute value to be one or more instances of a type drawn from the union or combination of multiple atomic and list types. Union types have a memberTypes attribute value that is a list of all the types in the union. Union types can have pattern and enumeration facets.