Atomic, List, and Union Data Types

MSXML 5.0 SDK

Microsoft XML Core Services (MSXML) 5.0 for Microsoft Office - XML Schemas

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.