Share via


Parts of Data Types

 

Data types consist of three parts:

  • value space

  • lexical space

  • facets (fundamental or constraining)

Value space

Value space refers to a set of literal values. Derived types inherit their value space from the base type; derived types are restricted by their base types.

Lexical space

Lexical space refers to the representation of literal values. Lexical space is the set of string literals that represent the values of data types. These literals always consist of text characters from any XML-legal subset of Unicode character set.

Facets

Facets are properties of the value space. A facet is one of the defining properties of a data type that distinguishes it from other data types. The World Wide Web Consortium (W3C) defines a facet as a single defining aspect of a value space. Facets provide definition for simple types. A facet is a restriction to a data type.

Facets of a data type serve to distinguish aspects of one data type that differ from other data types. There are two types of facets: fundamental facets and nonfundamental (constraining) facets. Fundamental facets define the data type. Nonfundamental or constraining facets place constraints or restrictions on the data type.

Fundamental Facets

There are five fundamental facets.

Equal
Different values can be compared and determined to be equal or not.

Ordered
For some data types, defined relationships exist between values.

Bounded
Order data types may be constrained to a range of values.

Cardinality
The number of values within the value space.

Numeric
Whether the data type stores values that are conceptually quantifiable based upon a mathematical numbering system.

Constraining Facets

Constraining facets limit the values of a derived data type.

There are several constraining facets that can be applied to a derived data type.

enumeration

fractionDigits, totalDigits

length, minLength, maxLength

pattern

minExclusive, maxExclusive, minInclusive, maxInclusive

whiteSpace