Stylus Studio XML Editor

Table of contents

Appendices

2.4 Facets

Facets

A facet is a single defining aspect of a value space. Generally speaking, each facet characterizes a value space along independent axes or dimensions.

The facets of a datatype serve to distinguish those aspects of one datatype which differ from other datatypes. Rather than being defined solely in terms of a prose description the datatypes in this specification are defined in terms of the synthesis of facet values which together determine the value space and properties of the datatype.

Facets are of two types: fundamental facets that define the datatype and non-fundamental or constraining facets that constrain the permitted values of a datatype.

Fundamental facets[top]

Fundamental facets

A fundamental facet is an abstract property which serves to semantically characterize the values in a value space.

All fundamental facets are fully described in [Fundamental Facets].

Constraining or Non-fundamental facets[top]

Constraining or Non-fundamental facets

A constraining facet is an optional property that can be applied to a datatype to constrain its value space.

Constraining the value space consequently constrains the lexical space. Adding constraining facets to a base type is described in [Derivation by restriction].

All constraining facets are fully described in [Constraining Facets].